mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-12-06 01:12:33 -05:00
Compare commits
82 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fa00314b77 | ||
|
|
7aad3ae3b5 | ||
|
|
6c56e47083 | ||
|
|
6c048fad01 | ||
|
|
593079dbbb | ||
|
|
2761244d2e | ||
|
|
f58f6bb6d2 | ||
|
|
da83e02749 | ||
|
|
76efb16f96 | ||
|
|
d411873503 | ||
|
|
f0a4c1c252 | ||
|
|
1f845a4119 | ||
|
|
17496ff5cf | ||
|
|
e3322af384 | ||
|
|
b1d394eac5 | ||
|
|
fd8ff7d7cf | ||
|
|
bc19b0d103 | ||
|
|
aea6f68598 | ||
|
|
332bcae24f | ||
|
|
4335b3b2d4 | ||
|
|
d6435eff85 | ||
|
|
2c313594da | ||
|
|
bc21f77976 | ||
|
|
dbcb179523 | ||
|
|
35e83855a8 | ||
|
|
6b086e3eb2 | ||
|
|
049f23071c | ||
|
|
e6c46bf4da | ||
|
|
6984dca394 | ||
|
|
7a86cc4bf3 | ||
|
|
219586d55d | ||
|
|
6a00c0ee7e | ||
|
|
873c7be99e | ||
|
|
c9cfa92b04 | ||
|
|
ff46ca546d | ||
|
|
f1ba57b78b | ||
|
|
4cf83b9ef4 | ||
|
|
3702e2e998 | ||
|
|
30c1adfe5b | ||
|
|
c75035bf6e | ||
|
|
59358e7bac | ||
|
|
19fa0b968f | ||
|
|
f2d02a6f46 | ||
|
|
05ec73266c | ||
|
|
a9acb80132 | ||
|
|
ed89f70f98 | ||
|
|
45afaa8ec8 | ||
|
|
4757c2c945 | ||
|
|
65395185c3 | ||
|
|
f2f3ac7d42 | ||
|
|
cb999bda7b | ||
|
|
cd14bccdc8 | ||
|
|
cf6966058e | ||
|
|
74b209bcc8 | ||
|
|
4a97020b78 | ||
|
|
e0d8942741 | ||
|
|
4f25e6c1ad | ||
|
|
81b4a1978b | ||
|
|
87d828a1b0 | ||
|
|
e52ff98cad | ||
|
|
7cabc876f5 | ||
|
|
8fa47cb789 | ||
|
|
ef76affd77 | ||
|
|
38a034e59b | ||
|
|
fb26ecf577 | ||
|
|
de99aac3ad | ||
|
|
4d9d224917 | ||
|
|
ac46b51d41 | ||
|
|
7aff7962f0 | ||
|
|
1a96f276f8 | ||
|
|
480c3129bd | ||
|
|
981661ea68 | ||
|
|
51f7d6cea2 | ||
|
|
7d28581915 | ||
|
|
4a0f23b0ea | ||
|
|
aaee2d9294 | ||
|
|
d5c960096e | ||
|
|
0c94ce6cc3 | ||
|
|
f280eea788 | ||
|
|
af7b0e4e1f | ||
|
|
ef35fc0c5f | ||
|
|
ca1f39a260 |
5
.github/CODEOWNERS
vendored
5
.github/CODEOWNERS
vendored
@@ -1,6 +1,3 @@
|
||||
# Default
|
||||
* @Twentysix26
|
||||
|
||||
# Core
|
||||
redbot/core/bank.py @palmtree5
|
||||
redbot/core/checks.py @tekulvw
|
||||
@@ -30,7 +27,7 @@ redbot/core/utils/dbtools.py @mikeshardmind
|
||||
# Cogs
|
||||
redbot/cogs/admin/* @tekulvw
|
||||
redbot/cogs/alias/* @tekulvw
|
||||
redbot/cogs/audio/* @aikaterna @Drapersniper
|
||||
redbot/cogs/audio/** @aikaterna @Drapersniper
|
||||
redbot/cogs/bank/* @tekulvw
|
||||
redbot/cogs/cleanup/* @palmtree5
|
||||
redbot/cogs/customcom/* @palmtree5
|
||||
|
||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: Support question
|
||||
url: https://discord.gg/red
|
||||
about: For any questions regarding on how to operate and run Red.
|
||||
@@ -1,5 +1,214 @@
|
||||
.. 3.3.x Changelogs
|
||||
|
||||
Redbot 3.3.9 (2020-06-12)
|
||||
=========================
|
||||
|
||||
| Thanks to all these amazing people that contributed to this release:
|
||||
| :ghuser:`aikaterna`, :ghuser:`Dav-Git`, :ghuser:`Drapersniper`, :ghuser:`Flame442`, :ghuser:`mikeshardmind`, :ghuser:`NeuroAssassin`, :ghuser:`Predeactor`, :ghuser:`Vexed01`
|
||||
|
|
||||
| **Read before updating**:
|
||||
| 1. Bot owners can no longer restrict access to some commands in Permissions cog using global permissions rules. Look at `Permissions changelog <important-339-2>` for full details.
|
||||
| 2. There's been a change in behavior of warning messages. Look at `Warnings changelog <important-339-1>` for full details.
|
||||
|
||||
|
||||
End-user changelog
|
||||
------------------
|
||||
|
||||
Security
|
||||
********
|
||||
|
||||
**NOTE**: If you can't update immediately, we recommend disabling the affected command until you can.
|
||||
|
||||
- **Mod** - ``[p]tempban`` now properly respects Discord's hierarchy rules (:issue:`3957`)
|
||||
|
||||
Core Bot
|
||||
********
|
||||
|
||||
- ``[p]info`` command can now be used when bot doesn't have Embed Links permission (:issue:`3907`, :issue:`3102`)
|
||||
- Fixed ungraceful error that happened in ``[p]set custominfo`` when provided text was too long (:issue:`3923`)
|
||||
- Red's start up message now shows storage type (:issue:`3935`)
|
||||
|
||||
Audio
|
||||
*****
|
||||
|
||||
- Audio now properly ignores streams when max length is enabled (:issue:`3878`, :issue:`3877`)
|
||||
- Commands that should work in DMs no longer error (:issue:`3880`)
|
||||
|
||||
Filter
|
||||
******
|
||||
|
||||
- Fixed behavior of detecting quotes in commands for adding/removing filtered words (:issue:`3925`)
|
||||
|
||||
.. _important-339-2:
|
||||
|
||||
Permissions
|
||||
***********
|
||||
|
||||
- **Both global and server rules** can no longer prevent guild owners from accessing commands for changing server rules. Bot owners can still use ``[p]command disable`` if they wish to completely disable any command in Permissions cog (:issue:`3955`, :issue:`3107`)
|
||||
|
||||
Full list of affected commands:
|
||||
|
||||
- ``[p]permissions acl getserver``
|
||||
- ``[p]permissions acl setserver``
|
||||
- ``[p]permissions acl updateserver``
|
||||
- ``[p]permissions addserverrule``
|
||||
- ``[p]permissions removeserverrule``
|
||||
- ``[p]permissions setdefaultserverrule``
|
||||
- ``[p]permissions clearserverrules``
|
||||
- ``[p]permissions canrun``
|
||||
- ``[p]permissions explain``
|
||||
|
||||
.. _important-339-1:
|
||||
|
||||
Warnings
|
||||
********
|
||||
|
||||
- Warnings sent to users don't show the moderator who warned the user by default now. Newly added ``[p]warningset showmoderators`` command can be used to switch this behaviour (:issue:`3781`)
|
||||
- Warn channel functionality has been fixed (:issue:`3781`)
|
||||
|
||||
|
||||
Developer changelog
|
||||
-------------------
|
||||
|
||||
Core Bot
|
||||
********
|
||||
|
||||
- Added `bot.set_prefixes() <RedBase.set_prefixes()>` method that allows developers to set global/server prefixes (:issue:`3890`)
|
||||
|
||||
|
||||
Documentation changes
|
||||
---------------------
|
||||
|
||||
- Added Oracle Cloud to free hosting section in :ref:`host-list` (:issue:`3916`)
|
||||
|
||||
Miscellaneous
|
||||
-------------
|
||||
|
||||
- Added missing help message for Downloader, Reports and Streams cogs (:issue:`3892`)
|
||||
- **Core Bot** - cooldown in ``[p]contact`` no longer applies when it's used without any arguments (:issue:`3942`)
|
||||
- **Core Bot** - improved instructions on obtaining user ID in help of ``[p]dm`` command (:issue:`3946`)
|
||||
- **Alias** - ``[p]alias global`` group, ``[p]alias help``, and ``[p]alias show`` commands can now be used in DMs (:issue:`3941`, :issue:`3940`)
|
||||
- **Audio** - Typo fix (:issue:`3889`, :issue:`3900`)
|
||||
- **Audio** - Fixed ``[p]audioset autoplay`` being available in DMs (:issue:`3899`)
|
||||
- **Bank** - ``[p]bankset`` now displays bank's scope (:issue:`3954`)
|
||||
- **Mod** - Preemptive fix for d.py 1.4 (:issue:`3891`)
|
||||
|
||||
|
||||
Redbot 3.3.8 (2020-05-29)
|
||||
==================================
|
||||
|
||||
| Thanks to all these amazing people that contributed to this release:
|
||||
| :ghuser:`aikaterna`, :ghuser:`Bakersbakebread`, :ghuser:`DariusStClair`, :ghuser:`Dav-Git`, :ghuser:`Drapersniper`, :ghuser:`Flame442`, :ghuser:`jack1142`, :ghuser:`mikeshardmind`, :ghuser:`NeuroAssassin`, :ghuser:`PredaaA`, :ghuser:`Predeactor`, :ghuser:`qaisjp`, :ghuser:`Tobotimus`
|
||||
|
||||
End-user changelog
|
||||
------------------
|
||||
|
||||
Core Bot
|
||||
********
|
||||
|
||||
- Important fixes to how PostgreSQL data backend saves data in bulks (:issue:`3829`)
|
||||
- Fixed ``[p]localwhitelist`` and ``[p]localblacklist`` commands (:issue:`3857`)
|
||||
- Red now includes information on how to update when sending information about being out of date (:issue:`3744`)
|
||||
- Using backslashes in bot's username/nickname no longer causes issues (:issue:`3826`, :issue:`3825`)
|
||||
|
||||
Admin
|
||||
*****
|
||||
|
||||
- Fixed server lock (:issue:`3815`, :issue:`3814`)
|
||||
|
||||
Alias
|
||||
*****
|
||||
|
||||
- Added pagination to ``[p]alias list`` and ``[p]alias global list`` to avoid errors for users with a lot of aliases (:issue:`3844`, :issue:`3834`)
|
||||
- ``[p]alias help`` should now work more reliably (:issue:`3864`)
|
||||
|
||||
Audio
|
||||
*****
|
||||
|
||||
- Twitch playback is functional once again (:issue:`3873`)
|
||||
- Recent errors with YouTube playback should be resolved (:issue:`3873`)
|
||||
- Added new option (settable with ``[p]audioset lyrics``) that makes Audio cog prefer (prioritize) tracks with lyrics (:issue:`3519`)
|
||||
- Added global daily (historical) queues (:issue:`3518`)
|
||||
- Added ``[p]audioset countrycode`` that allows to set the country code for spotify searches (:issue:`3528`)
|
||||
- Fixed ``[p]local search`` (:issue:`3528`, :issue:`3501`)
|
||||
- Local folders with special characters should work properly now (:issue:`3528`, :issue:`3467`)
|
||||
- Audio no longer fails to take the last spot in the voice channel with user limit (:issue:`3528`)
|
||||
- ``[p]local play`` no longer enqueues tracks from nested folders (:issue:`3528`)
|
||||
- Fixed ``[p]playlist dedupe`` not removing tracks (:issue:`3518`)
|
||||
- ``[p]disconnect`` now allows to disconnect if both DJ mode and voteskip aren't enabled (:issue:`3502`, :issue:`3485`)
|
||||
- Many UX improvements and fixes, including, among other things:
|
||||
|
||||
- Creating playlists without explicitly passing ``-scope`` no longer causes errors (:issue:`3500`)
|
||||
- ``[p]playlist list`` now shows all accessible playlists if ``--scope`` flag isn't used (:issue:`3518`)
|
||||
- ``[p]remove`` now also accepts a track URL in addition to queue index (:issue:`3201`)
|
||||
- ``[p]playlist upload`` now accepts a playlist file uploaded in the message with a command (:issue:`3251`)
|
||||
- Commands now send friendly error messages for common errors like lost Lavalink connection or bot not connected to voice channel (:issue:`3503`, :issue:`3528`, :issue:`3353`, :issue:`3712`)
|
||||
|
||||
CustomCommands
|
||||
**************
|
||||
|
||||
- ``[p]customcom create`` no longer allows spaces in custom command names (:issue:`3816`)
|
||||
|
||||
Mod
|
||||
***
|
||||
|
||||
- ``[p]userinfo`` now shows default avatar when no avatar is set (:issue:`3819`)
|
||||
|
||||
Modlog
|
||||
******
|
||||
|
||||
- Fixed (again) ``AttributeError`` for cases whose moderator doesn't share the server with the bot (:issue:`3805`, :issue:`3784`, :issue:`3778`)
|
||||
|
||||
Permissions
|
||||
***********
|
||||
|
||||
- Commands for settings ACL using yaml files now properly works on PostgreSQL data backend (:issue:`3829`, :issue:`3796`)
|
||||
|
||||
Warnings
|
||||
********
|
||||
|
||||
- Warnings cog no longer allows to warn bot users (:issue:`3855`, :issue:`3854`)
|
||||
|
||||
|
||||
Developer changelog
|
||||
-------------------
|
||||
|
||||
| **Important:**
|
||||
| If you're using RPC, please see the full annoucement about current state of RPC in main Red server
|
||||
`by clicking here <https://discord.com/channels/133049272517001216/411381123101491200/714560168465137694>`_.
|
||||
|
||||
|
||||
Core Bot
|
||||
********
|
||||
|
||||
- Red now inherits from `discord.ext.commands.AutoShardedBot` for better compatibility with code expecting d.py bot (:issue:`3822`)
|
||||
- Libraries using ``pkg_resources`` (like ``humanize`` or ``google-api-python-client``) that were installed through Downloader should now work properly (:issue:`3843`)
|
||||
- All bot owner IDs can now be found under ``bot.owner_ids`` attribute (:issue:`3793`)
|
||||
|
||||
- Note: If you want to use this on bot startup (e.g. in cog's initialisation), you need to await ``bot.wait_until_red_ready()`` first
|
||||
|
||||
|
||||
Documentation changes
|
||||
---------------------
|
||||
|
||||
- Added information about provisional status of RPC (:issue:`3862`)
|
||||
- Revised install instructions (:issue:`3847`)
|
||||
- Improved navigation in `document about updating Red <update_red>` (:issue:`3856`, :issue:`3849`)
|
||||
|
||||
|
||||
Miscellaneous
|
||||
-------------
|
||||
|
||||
- Few clarifications and typo fixes in few command help docstrings (:issue:`3817`, :issue:`3823`, :issue:`3837`, :issue:`3851`, :issue:`3861`)
|
||||
- **Downloader** - Downloader no longer removes the repo when it fails to load it (:issue:`3867`)
|
||||
|
||||
|
||||
Redbot 3.3.7 (2020-04-28)
|
||||
=========================
|
||||
|
||||
This is a hotfix release fixing issue with generating messages for new cases in Modlog.
|
||||
|
||||
|
||||
Redbot 3.3.6 (2020-04-27)
|
||||
=========================
|
||||
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
RPC
|
||||
===
|
||||
|
||||
.. important::
|
||||
|
||||
RPC support is included in Red on a provisional basis. Backwards incompatible changes (up to and including removal of the RPC) may occur if deemed necessary.
|
||||
|
||||
V3 comes default with an internal RPC server that may be used to remotely control the bot in various ways.
|
||||
Cogs must register functions to be exposed to RPC clients.
|
||||
Each of those functions must only take JSON serializable parameters and must return JSON serializable objects.
|
||||
|
||||
@@ -270,7 +270,7 @@ If you want to do it, follow these steps.
|
||||
2. **Install Linux**
|
||||
|
||||
Most of the VPS providers have tools for installing Linux automatically. If
|
||||
you're a beginner, we recommend **Ubuntu 18**.
|
||||
you're a beginner, we recommend **Ubuntu 20.04 LTS**.
|
||||
|
||||
For Raspberry Pi users, just install `Raspbian
|
||||
<https://www.raspberrypi.org/downloads/raspbian/>`_ on a micro-SD card.
|
||||
|
||||
@@ -59,6 +59,9 @@ Others
|
||||
|`Microsoft Azure |Same as AWS, but it's Microsoft. |
|
||||
|<https://azure.microsoft.com>`_ | |
|
||||
+-------------------------------------+-----------------------------------------------------+
|
||||
|`Oracle Cloud |Same as AWS, but it's Oracle. |
|
||||
|<https://oracle.com/cloud/>`_ | |
|
||||
+-------------------------------------+-----------------------------------------------------+
|
||||
|`LowEndBox <http://lowendbox.com/>`_ |A curator for lower specced servers. |
|
||||
+-------------------------------------+-----------------------------------------------------+
|
||||
|
||||
@@ -76,7 +79,10 @@ server. Any modern hardware should work 100% fine.
|
||||
Free hosting
|
||||
------------
|
||||
|
||||
Google Cloud and AWS both have free tier VPS suitable for small bots.
|
||||
`Google Cloud Compute Free Tier <https://cloud.google.com/free/docs/gcp-free-tier>`_,
|
||||
`Oracle Cloud Compute Always Free <https://oracle.com/cloud/free/#always-free>`_ and
|
||||
`AWS EC2 Free Tier <https://aws.amazon.com/free/>`_ have free tier VPSes suitable for small bots.
|
||||
AWS EC2 is not *always* free—it's a 12 month free trial.
|
||||
Additionally, new Google Cloud customers get a $300 credit which is valid
|
||||
for 12 months.
|
||||
|
||||
|
||||
@@ -43,14 +43,14 @@ Arch Linux
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo pacman -Syu python python-pip git jre-openjdk-headless base-devel
|
||||
sudo pacman -Syu python python-pip git jre11-openjdk-headless base-devel
|
||||
|
||||
Continue by `creating-venv-linux`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-centos:
|
||||
.. _install-rhel:
|
||||
.. _install-centos7:
|
||||
.. _install-rhel7:
|
||||
|
||||
~~~~~~~~~~~~~~~~~
|
||||
CentOS and RHEL 7
|
||||
@@ -58,17 +58,27 @@ CentOS and RHEL 7
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
yum -y groupinstall development
|
||||
yum -y install https://centos7.iuscommunity.org/ius-release.rpm
|
||||
sudo yum -y groupinstall development
|
||||
sudo yum -y install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
|
||||
openssl-devel xz xz-devel libffi-devel findutils git2u java-11-openjdk
|
||||
openssl-devel xz xz-devel tk-devel libffi-devel findutils java-11-openjdk-headless
|
||||
sudo yum -y install centos-release-scl
|
||||
sudo yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++
|
||||
echo "source scl_source enable devtoolset-8" >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
|
||||
In order to install Git 2.11 or greater, we recommend adding the IUS repository:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo yum -y install https://repo.ius.io/ius-release-el7.rpm
|
||||
sudo yum -y swap git git224
|
||||
|
||||
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-centos8:
|
||||
.. _install-rhel8:
|
||||
.. _install-centos:
|
||||
.. _install-rhel:
|
||||
|
||||
~~~~~~~~~~~~~~~~~
|
||||
CentOS and RHEL 8
|
||||
@@ -76,12 +86,12 @@ CentOS and RHEL 8
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
yum -y install epel-release
|
||||
yum update -y
|
||||
yum -y groupinstall development
|
||||
yum -y install git zlib-devel bzip2 bzip2-devel readline-devel sqlite \
|
||||
sqlite-devel openssl-devel xz xz-devel libffi-devel findutils java-11-openjdk
|
||||
|
||||
sudo yum -y install epel-release
|
||||
sudo yum -y update
|
||||
sudo yum -y groupinstall development
|
||||
sudo yum -y install git zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
|
||||
openssl-devel xz xz-devel tk-devel libffi-devel findutils java-11-openjdk-headless
|
||||
|
||||
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
|
||||
|
||||
----
|
||||
@@ -105,8 +115,8 @@ Debian Stretch. This guide will tell you how. First, run the following commands:
|
||||
sudo echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/red-sources.list
|
||||
sudo apt update
|
||||
sudo apt -y install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
|
||||
libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev \
|
||||
libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre
|
||||
libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
|
||||
libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre-headless
|
||||
CXX=/usr/bin/g++
|
||||
|
||||
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
|
||||
@@ -127,8 +137,8 @@ Debian/Raspbian Buster. This guide will tell you how. First, run the following c
|
||||
|
||||
sudo apt update
|
||||
sudo apt -y install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
|
||||
libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev \
|
||||
libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre
|
||||
libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
|
||||
libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre-headless
|
||||
CXX=/usr/bin/g++
|
||||
|
||||
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
|
||||
@@ -146,7 +156,7 @@ them with dnf:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo dnf -y install python38 git java-latest-openjdk-headless @development-tools
|
||||
sudo dnf -y install python38 git java-11-openjdk-headless @development-tools
|
||||
|
||||
Continue by `creating-venv-linux`.
|
||||
|
||||
@@ -197,14 +207,17 @@ 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
|
||||
sudo zypper -n ar -f \
|
||||
https://download.opensuse.org/repositories/home:/Rotkraut:/Opt-Python/openSUSE_Leap_${VERSION_ID}/ \
|
||||
Opt-Python
|
||||
sudo zypper -n --gpg-auto-import-keys ref
|
||||
|
||||
Now install the pre-requirements with zypper:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo zypper install opt-python38 opt-python38-setuptools git-core java-11-openjdk-headless
|
||||
sudo zypper install -t pattern devel_basis
|
||||
sudo zypper -n install opt-python38 opt-python38-setuptools git-core java-11-openjdk-headless
|
||||
sudo zypper -n 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:
|
||||
@@ -230,25 +243,31 @@ 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
|
||||
sudo zypper -n install python3-base python3-pip git-core java-11-openjdk-headless
|
||||
sudo zypper -n install -t pattern devel_basis
|
||||
|
||||
Continue by `creating-venv-linux`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-ubuntu:
|
||||
.. _install-ubuntu-1604:
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Ubuntu LTS versions (20.04, 18.04, and 16.04)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
~~~~~~~~~~~~~~~~
|
||||
Ubuntu 16.04 LTS
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
|
||||
We recommend adding the ``openjdk-r`` ppa to install Java 11:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt update
|
||||
sudo apt -y install software-properties-common
|
||||
sudo add-apt-repository -yu ppa:openjdk-r/ppa
|
||||
|
||||
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo add-apt-repository -yu ppa:git-core/ppa
|
||||
|
||||
We recommend adding the ``deadsnakes`` ppa to install Python 3.8.1 or greater:
|
||||
@@ -261,7 +280,63 @@ Now install the pre-requirements with apt:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git default-jre-headless \
|
||||
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless \
|
||||
build-essential
|
||||
|
||||
Continue by `creating-venv-linux`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-ubuntu-1804:
|
||||
|
||||
~~~~~~~~~~~~~~~~
|
||||
Ubuntu 18.04 LTS
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt update
|
||||
sudo apt -y install software-properties-common
|
||||
sudo add-apt-repository -y ppa:git-core/ppa
|
||||
|
||||
We recommend adding the ``deadsnakes`` ppa to install Python 3.8.1 or greater:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo add-apt-repository -y ppa:deadsnakes/ppa
|
||||
|
||||
Now install the pre-requirements with apt:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless \
|
||||
build-essential
|
||||
|
||||
Continue by `creating-venv-linux`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-ubuntu:
|
||||
|
||||
~~~~~~~~~~~~~~~~
|
||||
Ubuntu 20.04 LTS
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt update
|
||||
sudo apt -y install software-properties-common
|
||||
sudo add-apt-repository -y ppa:git-core/ppa
|
||||
|
||||
Now install the pre-requirements with apt:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless \
|
||||
build-essential
|
||||
|
||||
Continue by `creating-venv-linux`.
|
||||
@@ -289,7 +364,7 @@ installing pyenv. To do this, first run the following commands:
|
||||
|
||||
sudo apt -y install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
|
||||
libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev \
|
||||
libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre
|
||||
libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre-headless
|
||||
CXX=/usr/bin/g++
|
||||
|
||||
And then complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
|
||||
@@ -315,14 +390,14 @@ virtual environment.
|
||||
|
||||
command -v pyenv && pyenv update || curl https://pyenv.run | bash
|
||||
|
||||
After this command, you may see a warning about 'pyenv' not being in the load path. Follow the
|
||||
instructions given to fix that, then close and reopen your shell.
|
||||
**After this command, you may see a warning about 'pyenv' not being in the load path. Follow the
|
||||
instructions given to fix that, then close and reopen your shell.**
|
||||
|
||||
Then run the following command:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
CONFIGURE_OPTS=--enable-optimizations pyenv install 3.8.2 -v
|
||||
CONFIGURE_OPTS=--enable-optimizations pyenv install 3.8.3 -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
|
||||
@@ -334,7 +409,7 @@ After that is finished, run:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
pyenv global 3.8.2
|
||||
pyenv global 3.8.3
|
||||
|
||||
Pyenv is now installed and your system should be configured to run Python 3.8.
|
||||
|
||||
|
||||
@@ -4,18 +4,29 @@
|
||||
Installing Red on Windows
|
||||
=========================
|
||||
|
||||
---------------
|
||||
Needed Software
|
||||
---------------
|
||||
-------------------------------
|
||||
Installing the pre-requirements
|
||||
-------------------------------
|
||||
|
||||
The following software dependencies can all be installed quickly and easily through PowerShell,
|
||||
using a trusted package manager for Windows called `Chocolatey <https://chocolatey.org>`_
|
||||
Please install the pre-requirements by following instructions from one of the following subsections.
|
||||
|
||||
We also provide instructions for manually installing all of the dependencies.
|
||||
The pre-requirements are:
|
||||
- Python 3.8.1 or greater
|
||||
- Pip 18.1 or greater
|
||||
- Git 2.11+
|
||||
- Java Runtime Environment 11 (for audio support)
|
||||
|
||||
******************************************
|
||||
Installing using powershell and chocolatey
|
||||
******************************************
|
||||
We also recommend installing some basic compiler tools, in case our dependencies don't provide
|
||||
pre-built "wheels" for your architecture.
|
||||
|
||||
.. contents:: Choose a method of installing pre-requirements:
|
||||
:local:
|
||||
|
||||
----
|
||||
|
||||
*********************************************
|
||||
Using PowerShell and Chocolatey (recommended)
|
||||
*********************************************
|
||||
|
||||
To install via PowerShell, search "powershell" in the Windows start menu,
|
||||
right-click on it and then click "Run as administrator"
|
||||
@@ -39,6 +50,8 @@ For Audio support, you should also run the following command before exiting:
|
||||
|
||||
From here, exit the prompt then continue onto `creating-venv-windows`.
|
||||
|
||||
----
|
||||
|
||||
********************************
|
||||
Manually installing dependencies
|
||||
********************************
|
||||
@@ -61,6 +74,9 @@ Manually installing dependencies
|
||||
|
||||
* `Java 11 <https://adoptopenjdk.net/?variant=openjdk11&jvmVariant=hotspot>`_ - needed for Audio
|
||||
|
||||
From here, continue onto `creating-venv-windows`.
|
||||
|
||||
----
|
||||
|
||||
.. _creating-venv-windows:
|
||||
|
||||
|
||||
@@ -16,6 +16,10 @@ Here are some things to consider to help make your upgrade as smooth as possible
|
||||
|
||||
Updating differs depending on the version you currently have. Next sections will explain how to upgrade to latest version of Red (|version|) from the version that is in the header of the section.
|
||||
|
||||
.. contents:: Choose the version you're currently on from the list below:
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
|
||||
Red 3.2.0 or newer
|
||||
******************
|
||||
@@ -23,15 +27,17 @@ Red 3.2.0 or newer
|
||||
Windows
|
||||
-------
|
||||
|
||||
If you have Red 3.2.0 or newer, all you have to do to upgrade Red is running 2 commands.
|
||||
If you have Red 3.2.0 or newer, you can upgrade by following these 4 easy steps:
|
||||
|
||||
1. Activate your venv with the following command:
|
||||
1. Shut your bot down.
|
||||
|
||||
2. Activate your venv with the following command:
|
||||
|
||||
.. code:: none
|
||||
|
||||
"%userprofile%\redenv\Scripts\activate.bat"
|
||||
|
||||
2. Update Red with this command:
|
||||
3. Update Red with this command:
|
||||
|
||||
.. code:: none
|
||||
|
||||
@@ -41,12 +47,16 @@ If you have Red 3.2.0 or newer, all you have to do to upgrade Red is running 2 c
|
||||
|
||||
If you're using PostgreSQL data backend, replace ``Red-DiscordBot`` in the second command with ``Red-DiscordBot[postgres]``
|
||||
|
||||
4. Start your bot.
|
||||
|
||||
Linux & Mac
|
||||
-----------
|
||||
|
||||
If you have Red 3.2.0 or newer, all you have to do to upgrade Red is running 2 commands.
|
||||
If you have Red 3.2.0 or newer, you can upgrade by following these 4 easy steps:
|
||||
|
||||
1. Activate your virtual environment.
|
||||
1. Shut your bot down.
|
||||
|
||||
2. Activate your virtual environment.
|
||||
|
||||
If you used ``venv`` for your virtual environment, use:
|
||||
|
||||
@@ -60,7 +70,7 @@ If you have Red 3.2.0 or newer, all you have to do to upgrade Red is running 2 c
|
||||
|
||||
pyenv shell <name>
|
||||
|
||||
2. Update Red with this command:
|
||||
3. Update Red with this command:
|
||||
|
||||
.. code:: none
|
||||
|
||||
@@ -70,18 +80,19 @@ If you have Red 3.2.0 or newer, all you have to do to upgrade Red is running 2 c
|
||||
|
||||
If you're using PostgreSQL data backend, replace ``Red-DiscordBot`` in the second command with ``Red-DiscordBot[postgres]``
|
||||
|
||||
4. Start your bot.
|
||||
|
||||
Red 3.1.X
|
||||
*********
|
||||
|
||||
If you have Red 3.1.X, you will need to follow the install instructions for your operating system:
|
||||
If you have Red 3.1.X, you will need to follow the install instructions for your operating system. Make sure that you turn your bot off first.
|
||||
|
||||
- `Windows <install_windows>`
|
||||
- `Linux & Mac <install_linux_mac>`
|
||||
|
||||
Follow every step to ensure you have all dependencies up-to-date and only skip ``redbot-setup`` step as you already have a bot instance.
|
||||
|
||||
If you already have Red installed in a virtual environment, you will need to delete it before starting this process.
|
||||
**If you already have Red installed in a virtual environment, you will need to delete it before starting this process.**
|
||||
|
||||
.. attention::
|
||||
|
||||
@@ -114,11 +125,11 @@ Red 3.0.2 and older
|
||||
|
||||
redbot-setup --edit
|
||||
|
||||
If you have Red 3.0.2 or older, you will need to follow the install instructions for your operating system:
|
||||
If you have Red 3.0.2 or older, you will need to follow the install instructions for your operating system. Make sure that you turn your bot off first.
|
||||
|
||||
- `Windows <install_windows>`
|
||||
- `Linux & Mac <install_linux_mac>`
|
||||
|
||||
Follow every step to ensure you have all dependencies up-to-date and only skip ``redbot-setup`` step as you already have a bot instance.
|
||||
|
||||
If you already have Red installed in a virtual environment, you will need to delete it before starting this process.
|
||||
**If you already have Red installed in a virtual environment, you will need to delete it before starting this process.**
|
||||
|
||||
@@ -20,6 +20,8 @@ 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.
|
||||
|
||||
Any RPC method exposed by Red may break without notice.
|
||||
|
||||
If you would like something in here to be guaranteed,
|
||||
open an issue making a case for it to be moved.
|
||||
|
||||
|
||||
@@ -191,7 +191,7 @@ def _update_event_loop_policy():
|
||||
_asyncio.set_event_loop_policy(_uvloop.EventLoopPolicy())
|
||||
|
||||
|
||||
__version__ = "3.3.6"
|
||||
__version__ = "3.3.9"
|
||||
version_info = VersionInfo.from_str(__version__)
|
||||
|
||||
# Filter fuzzywuzzy slow sequence matcher warning
|
||||
|
||||
@@ -7,6 +7,7 @@ import json
|
||||
import logging
|
||||
import os
|
||||
import pip
|
||||
import pkg_resources
|
||||
import platform
|
||||
import shutil
|
||||
import signal
|
||||
@@ -346,6 +347,14 @@ async def run_bot(red: Red, cli_flags: Namespace) -> None:
|
||||
LIB_PATH.mkdir(parents=True, exist_ok=True)
|
||||
if str(LIB_PATH) not in sys.path:
|
||||
sys.path.append(str(LIB_PATH))
|
||||
|
||||
# "It's important to note that the global `working_set` object is initialized from
|
||||
# `sys.path` when `pkg_resources` is first imported, but is only updated if you do
|
||||
# all future `sys.path` manipulation via `pkg_resources` APIs. If you manually modify
|
||||
# `sys.path`, you must invoke the appropriate methods on the `working_set` instance
|
||||
# to keep it in sync."
|
||||
# Source: https://setuptools.readthedocs.io/en/latest/pkg_resources.html#workingset-objects
|
||||
pkg_resources.working_set.add_entry(str(LIB_PATH))
|
||||
sys.meta_path.insert(0, SharedLibImportWarner())
|
||||
|
||||
if cli_flags.token:
|
||||
|
||||
@@ -467,6 +467,7 @@ class Admin(commands.Cog):
|
||||
await ctx.send(_("The bot is now serverlocked."))
|
||||
|
||||
# region Event Handlers
|
||||
@commands.Cog.listener()
|
||||
async def on_guild_join(self, guild: discord.Guild):
|
||||
if await self.config.serverlocked():
|
||||
await guild.leave()
|
||||
|
||||
@@ -19,31 +19,31 @@ msgstr "Intenté hacer algo que Discord me ha negado el permiso. Su comando no s
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "No puedo dar el rol{role.name} a {member.display_name} porque ese rol es mayor o igual a mi rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:28
|
||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "No puedo eliminar el rol {role.name} de {member.display_name} porque ese rol es mayor o igual que mi rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:34
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "No puedo editar el rol {role.name} porque ese rol es mayor que el mío o igual al rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:40
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "No puedo dejar que le des el rol {role.name} a {member.display_name} porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:46
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "No puedo dejar que elimines el rol {role.name} de {member.display_name} porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:52
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "No puedo permitir que edites el rol{role.name} porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:58
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
msgstr "Necesito el permiso gestionar roles para hacerlo."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:60
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
@@ -56,7 +56,7 @@ msgstr "Una colección de utilidades de administración de servidores."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:126
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
msgstr "{member.display_name} ya tiene el rol {role.name}."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:146
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
@@ -64,7 +64,7 @@ msgstr "He añadido con éxito {role.name} a {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:156
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
msgstr "{member.display_name} no tiene el rol {role.name}."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:176
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
@@ -73,12 +73,12 @@ msgstr "He retirado con éxito {role.name} de {member.display_name}"
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Añadir un rol a un usuario.\\n\\n Usar comillas dobles si el rol contiene espacios.\\n Si el usuario se deja en blanco el valor por defecto es el autor del comando.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:203
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Elimina un rol de un usuario.\\n\\n Usar comillas dobles si el rol contiene espacios.\\n Si el usuario se deja en blanco el valor por defecto es el autor del comando.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217
|
||||
#, docstring
|
||||
@@ -88,7 +88,7 @@ msgstr "Editar configuración de rol."
|
||||
#: redbot/cogs/admin/admin.py:224
|
||||
#, docstring
|
||||
msgid "\\n 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 ""
|
||||
msgstr "\\n Edita el color de un rol.\\n\\n Usar comillas dobles si el rol contiene espacios.\\n El color debe estar en formato hexadecimal.\\n [Selector de color en línea](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Ejemplos:\\n `[p]color editrole \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
|
||||
msgid "Done."
|
||||
@@ -97,7 +97,7 @@ msgstr "Listo."
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Edita el nombre de un rol.\\n\\n Utilice comillas dobles si el rol o el nombre contiene espacios.\\n\\n Ejemplo:\\n `[p]nombre editrole \\\"The Transistor\\\" Test`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:291
|
||||
#, docstring
|
||||
@@ -106,115 +106,115 @@ msgstr "Anunciar un mensaje a todos los servidores en que el bot está."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:298
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
msgstr "El anuncio ha comenzado."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:305
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
msgstr "Cancela un anuncio en ejecución."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:307
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
msgstr "No hay ningún anuncio en ejecución."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:310
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
msgstr "El anuncio actual ha sido cancelado."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:316
|
||||
#, docstring
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
msgstr "Cambia cómo son enviados los anuncios en este servidor."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:321
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Cambia el canal donde el bot enviará anuncios.\\n \\n Si se deja en blanco el canal por defecto es el canal actual.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:330
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
msgstr "El canal de anuncios se ha establecido en {channel.mention}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:335
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
msgstr "Alternar la activación de los anuncios en este servidor."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
msgstr "El servidor {guild.name} recibirá anuncios."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:344
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr ""
|
||||
msgstr "El servidor {guild.name} no recibirá anuncios."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
msgstr "Aplicar selfroles."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:375
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Añade un rol a ti mismo.\\n\\n Los administradores del servidor deben haber configurado el rol como usuario configurable.\\n NOTA: El rol es sensible a mayúsculas!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:386
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Elimina un rol de ti mismo.\\n\\n Los administradores del servidor deben haber configurado el rol como usuario configurable.\\n NOTA: El rol es sensible a mayúsculas!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:397
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Lista de todos los selfroles disponibles.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:407
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
msgstr "Selfroles disponibles:\\n{selfroles}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:413
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
msgstr "Gestionar selfroles."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:418
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Añade un rol a la lista de selfroles disponibles.\\n\\n NOTA: ¡El rol es sensible a mayúsculas\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:425
|
||||
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "No puedo permitir que añadas {role.name} como selfrole porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:433
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
msgstr "Añadido."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:436
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
msgstr "Ese rol ya es un selfrole."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:440
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Quita un rol de la lista de selfroles disponibles.\\n\\n NOTA: El rol es sensible a mayúsculas\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:447
|
||||
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "No puedo permitir que elimines a {role.name} de ser un selfrole porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:455
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
msgstr "Eliminado."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:460
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
msgstr "Bloquea el bot sólo a sus servidores actuales."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
msgstr "El bot ya no está bloqueado por el servidor."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:467
|
||||
msgid "The bot is now serverlocked."
|
||||
@@ -222,11 +222,11 @@ msgstr "El bot está bloqueado por el servidor."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:75
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
msgstr "No pude anunciar en el siguiente servidor: "
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:77
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
msgstr "No pude anunciar en los siguientes servidores: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
|
||||
@@ -83,7 +83,7 @@ msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:217
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
msgstr "역할 설정을 변경했어요."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:224
|
||||
#, docstring
|
||||
@@ -111,7 +111,7 @@ msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:305
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
msgstr "실행 중인 공지사항을 취소했어요."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:307
|
||||
msgid "There is no currently running announcement."
|
||||
@@ -226,11 +226,11 @@ msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:77
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
msgstr "다음과 같은 서버에 알릴 수 없어요. : "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
msgstr "관리자 cog가 로드되지 않았어요."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
|
||||
@@ -19,11 +19,11 @@ msgstr "Tentei fazer uma coisa que o Discord negou permissão para fazer. O coma
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "Eu não posso dar {role.name} a {member.display_name} porque esse cargo é igual ou maior a meu cargo na hierarquia do Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:28
|
||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "Não posso remover {role.name} de {member.display_name} porque esse cargo é igual ou maior a meu cargo na hierarquia do Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:34
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
|
||||
@@ -19,85 +19,85 @@ msgstr "Bir şey denemeye çalıştım ancak Discord izinlerim yeterli olmadı.
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "{member.display_name} kullanıcısına {role.name} veremiyorum çünkü bu rol Discord hiyerarşisinde rolüme eşit veya daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:28
|
||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "{member.display_name} kullanıcısından {role.name} rolünü kaldıramıyorum çünkü bu rol Discord hiyerarşisinde rolüme eşit veya daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:34
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "{role.name} kullanıcısının rolünü düzenleyemiyorum, çünkü bu rol Discord hiyerarşisinde rolüme eşit veya daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:40
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "{member.display_name} kullanıcısına {role.name} rolünü vermene müsaade edemem çünkü bu rol Discord hiyerarşisinde senin rolüne eşit veya daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:46
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "{member.display_name} kullanıcısının {role.name} rolünü silmene müsaade edemem çünkü bu rol Discord hiyerarşisinde senin rolüne eşit veya daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:52
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "{role.name} rolünü düzenlemene müsaade edemem çünkü bu rol Discord hiyerarşisinde senin rolüne eşit veya daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:58
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
msgstr "Bunu yapabilmem için \"rolleri yönet\" iznine ihtiyacım var."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:60
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Zaten şuan da bir duyuru yapmaktayım. Başka bir duyuru yapmak istiyorsanız lütfen bu komutu kullanın: `{prefix}announce cancel`."
|
||||
msgstr "Zaten şu anda bir duyuru yapmaktayım. Başka bir duyuru yapmak istiyorsanız lütfen bu komutu kullanın: `{prefix}announce cancel`."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:70
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "Sunucu yönetimiyle ilgili ayarlar"
|
||||
msgstr "Sunucu yönetim araçları için bir kolleksiyon."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:126
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
msgstr "{member.display_name} kullanıcısı {role.name} rolüne zaten sahip."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:146
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr "{role.name} rolünü {member.display_name} kişisine başarılı bir şekilde ekledim"
|
||||
msgstr "{role.name} rolünü {member.display_name} kullanıcısına başarılı bir şekilde ekledim."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:156
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
msgstr "{member.display_name} kullanıcısı {role.name} rolüne sahip değil."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:176
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr "{role.name} rolünü {member.display_name} kişisine başarılı bir şekilde kaldırdım."
|
||||
msgstr "{role.name} rolünü {member.display_name} kullanıcısından başarılı bir şekilde kaldırdım."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Kullanıcıya rol ekle.\\n\\n Rol boşluk içeriyorsa çift tırnak işareti kullanın.\\n Kullanıcı boş bırakılırsa, varsayılan olarak komutun yazarıdır.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:203
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Kullanıcıdan rol sil.\\n\\n Rol boşluk içeriyorsa çift tırnak işareti kullanın.\\n Kullanıcı boş bırakılırsa, varsayılan olarak komutun yazarıdır.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "Rol ayarlarını düzenle"
|
||||
msgstr "Rol ayarlarını düzenle."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:224
|
||||
#, docstring
|
||||
msgid "\\n 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 ""
|
||||
msgstr "Rol rengini düzenler.\\n\\n Rol boşluk içeriyorsa çift tırnak kulanın.\\n Renk hexadecimal formatında olmalıdır.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Örneğin:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:253 redbot/cogs/admin/admin.py:286
|
||||
msgid "Done."
|
||||
msgstr "Tamamdır."
|
||||
msgstr "Tamamlandı."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
msgstr "Rolün ismini düzenler.\\n\\n Rol boşluk içeriyorsa çift tırnak kulanın.\\n\\n Örneğin:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:291
|
||||
#, docstring
|
||||
@@ -111,29 +111,29 @@ msgstr "Duyuru başladı."
|
||||
#: redbot/cogs/admin/admin.py:305
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "Şuan yapılan duyuruyu iptal eder."
|
||||
msgstr "Şu an yapılan duyuruyu iptal eder."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:307
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
msgstr "Şu anda yapılan bir duyuru mevcut değil."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:310
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr "Şuan yapılan duyuru iptal edildi."
|
||||
msgstr "Şu an yapılan duyuru iptal edildi."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:316
|
||||
#, docstring
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
msgstr "Anonsların sunucuya nasıl gönderileceğini belirleyin."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:321
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n \\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Botun anonsları hangi kanalda yapacağını belirleyin.\\n \\n Boş bırakırsanız bot anonsları mevcut kanala yapacaktır.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:330
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr "{channel.mention} duyuru kanalı olarak ayarlandı"
|
||||
msgstr "{channel.mention} duyuru kanalı olarak ayarlandı."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:335
|
||||
#, docstring
|
||||
@@ -142,91 +142,91 @@ msgstr "Duyuru sistemi bu sunucu için aktif edildi."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr "{guild.name} sunucusu duyuruları alacak."
|
||||
msgstr "{guild.name} sunucusu artık duyuruları alacak."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:344
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr "{guild.name} sunucusu duyuruları almayacak."
|
||||
msgstr "{guild.name} sunucusu artık duyuruları almayacak."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
msgstr "Kişisel rol ekle."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:375
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgstr "Kişisel rol ekler.\\n\\n Sunucu yöneticileri kullanıcının kullanabileceği şekilde ayarlamalıdır.\\n\\n NOT: Rol büyük küçük harf duyarlıdır!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:386
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgstr "Kişisel rol siler.\\n\\n Sunucu yöneticileri kullanıcının kullanabileceği şekilde ayarlamalıdır.\\n\\n NOT: Rol büyük küçük harf duyarlıdır!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:397
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr "\\n Kullanılabilir selfrol'leri listeler.\\n "
|
||||
msgstr "\\n Kullanılabilir kişisel rolleri listeler.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:407
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr "Kullanılabilir Selfrol'ler:\\n{selfroles}"
|
||||
msgstr "Kullanılabilir kişisel roller:\\n{selfroles}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:413
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
msgstr "Kişisel rolleri düzenle."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:418
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Kullanılabilir kişisel roller listesine rol ekler.\\n\\n NOT: Rol büyük küçük harf duyarlıdır!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:425
|
||||
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "{role.name} kullanıcısına belirttiğin rolü vermene müsaade edemem çünkü bu rol Discord hiyerarşisinde senin rolüne eşit veya daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:433
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
msgstr "Eklendi."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:436
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
msgstr "Bu rol zaten bir kişisel rol."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:440
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Kullanılabilir kişisel roller listesinden rol siler.\\n\\n NOT: Rol büyük küçük harf duyarlıdır!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:447
|
||||
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
msgstr "{role.name} kullanıcısından belirttiğin rolü silmene müsaade edemem çünkü bu rol Discord hiyerarşisinde senin rolüne eşit veya daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:455
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
msgstr "Kaldırıldı."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:460
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr "Botu şuan bulunduğu sunucularda kilitler."
|
||||
msgstr "Botu şu an bulunduğu sunucularda kilitler."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr "Bot artık sunucular da kilitli değil"
|
||||
msgstr "Botun sunucu kilidi aktif değil."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:467
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr "Bot şuan sunucularda kilitli."
|
||||
msgstr "Botun sunucu kilidi aktif."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:75
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
msgstr "Bu sunucuya duyuru yapamıyorum: "
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:77
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
msgstr "Bu sunucuya duyuru yapamıyorum: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
@@ -234,5 +234,5 @@ msgstr "The Admin eklentisi yüklenmedi."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr "Girilen selfrol geçerli değil."
|
||||
msgstr "Girilen kişisel rol geçerli bir kişisel rol değil."
|
||||
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
from copy import copy
|
||||
from re import search
|
||||
from string import Formatter
|
||||
from typing import Dict
|
||||
from typing import Dict, List
|
||||
|
||||
import discord
|
||||
from redbot.core import Config, commands, checks
|
||||
from redbot.core.i18n import Translator, cog_i18n
|
||||
from redbot.core.utils.chat_formatting import box
|
||||
from redbot.core.utils.chat_formatting import box, pagify
|
||||
from redbot.core.utils.menus import menu, DEFAULT_CONTROLS
|
||||
|
||||
from redbot.core.bot import Red
|
||||
from .alias_entry import AliasEntry, AliasCache, ArgParseError
|
||||
@@ -100,8 +101,29 @@ class Alias(commands.Cog):
|
||||
)
|
||||
await self.bot.process_commands(new_message)
|
||||
|
||||
async def paginate_alias_list(
|
||||
self, ctx: commands.Context, alias_list: List[AliasEntry]
|
||||
) -> None:
|
||||
names = sorted(["+ " + a.name for a in alias_list])
|
||||
message = "\n".join(names)
|
||||
temp = list(pagify(message, delims=["\n"], page_length=1850))
|
||||
alias_list = []
|
||||
count = 0
|
||||
for page in temp:
|
||||
count += 1
|
||||
page = page.lstrip("\n")
|
||||
page = (
|
||||
_("Aliases:\n")
|
||||
+ page
|
||||
+ _("\n\nPage {page}/{total}").format(page=count, total=len(temp))
|
||||
)
|
||||
alias_list.append(box("".join(page), "diff"))
|
||||
if len(alias_list) == 1:
|
||||
await ctx.send(alias_list[0])
|
||||
return
|
||||
await menu(ctx, alias_list, DEFAULT_CONTROLS)
|
||||
|
||||
@commands.group()
|
||||
@commands.guild_only()
|
||||
async def alias(self, ctx: commands.Context):
|
||||
"""Manage command aliases."""
|
||||
pass
|
||||
@@ -134,7 +156,7 @@ class Alias(commands.Cog):
|
||||
_(
|
||||
"You attempted to create a new alias"
|
||||
" with the name {name} but that"
|
||||
" alias already exists on this server."
|
||||
" alias already exists."
|
||||
).format(name=alias_name)
|
||||
)
|
||||
return
|
||||
@@ -187,13 +209,13 @@ class Alias(commands.Cog):
|
||||
)
|
||||
return
|
||||
|
||||
alias = await self._aliases.get_alias(ctx.guild, alias_name)
|
||||
alias = await self._aliases.get_alias(None, alias_name)
|
||||
if alias:
|
||||
await ctx.send(
|
||||
_(
|
||||
"You attempted to create a new global alias"
|
||||
" with the name {name} but that"
|
||||
" alias already exists on this server."
|
||||
" alias already exists."
|
||||
).format(name=alias_name)
|
||||
)
|
||||
return
|
||||
@@ -209,6 +231,13 @@ class Alias(commands.Cog):
|
||||
).format(name=alias_name)
|
||||
)
|
||||
return
|
||||
|
||||
given_command_exists = self.bot.get_command(command.split(maxsplit=1)[0]) is not None
|
||||
if not given_command_exists:
|
||||
await ctx.send(
|
||||
_("You attempted to create a new alias for a command that doesn't exist.")
|
||||
)
|
||||
return
|
||||
# endregion
|
||||
|
||||
try:
|
||||
@@ -223,24 +252,15 @@ class Alias(commands.Cog):
|
||||
)
|
||||
|
||||
@alias.command(name="help")
|
||||
@commands.guild_only()
|
||||
async def _help_alias(self, ctx: commands.Context, alias_name: str):
|
||||
"""Try to execute help for the base command of the alias."""
|
||||
alias = await self._aliases.get_alias(ctx.guild, alias_name=alias_name)
|
||||
if alias:
|
||||
if self.is_command(alias.command):
|
||||
base_cmd = alias.command
|
||||
else:
|
||||
base_cmd = alias.command.rsplit(" ", 1)[0]
|
||||
|
||||
new_msg = copy(ctx.message)
|
||||
new_msg.content = f"{ctx.prefix}help {base_cmd}"
|
||||
await self.bot.process_commands(new_msg)
|
||||
await self.bot.send_help_for(ctx, alias.command)
|
||||
else:
|
||||
await ctx.send(_("No such alias exists."))
|
||||
|
||||
@alias.command(name="show")
|
||||
@commands.guild_only()
|
||||
async def _show_alias(self, ctx: commands.Context, alias_name: str):
|
||||
"""Show what command the alias executes."""
|
||||
alias = await self._aliases.get_alias(ctx.guild, alias_name)
|
||||
@@ -287,22 +307,22 @@ class Alias(commands.Cog):
|
||||
|
||||
@alias.command(name="list")
|
||||
@commands.guild_only()
|
||||
@checks.bot_has_permissions(add_reactions=True)
|
||||
async def _list_alias(self, ctx: commands.Context):
|
||||
"""List the available aliases on this server."""
|
||||
guild_aliases = await self._aliases.get_guild_aliases(ctx.guild)
|
||||
if not guild_aliases:
|
||||
return await ctx.send(_("There are no aliases on this server."))
|
||||
names = [_("Aliases:")] + sorted(["+ " + a.name for a in guild_aliases])
|
||||
await ctx.send(box("\n".join(names), "diff"))
|
||||
await self.paginate_alias_list(ctx, guild_aliases)
|
||||
|
||||
@global_.command(name="list")
|
||||
@checks.bot_has_permissions(add_reactions=True)
|
||||
async def _list_global_alias(self, ctx: commands.Context):
|
||||
"""List the available global aliases on this bot."""
|
||||
global_aliases = await self._aliases.get_global_aliases()
|
||||
if not global_aliases:
|
||||
return await ctx.send(_("There are no global aliases."))
|
||||
names = [_("Aliases:")] + sorted(["+ " + a.name for a in global_aliases])
|
||||
await ctx.send(box("\n".join(names), "diff"))
|
||||
await self.paginate_alias_list(ctx, global_aliases)
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_message_without_command(self, message: discord.Message):
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Afrikaans\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: af\n"
|
||||
"Language: af_ZA\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Arabic\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: ar\n"
|
||||
"Language: ar_SA\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Bulgarian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: bg\n"
|
||||
"Language: bg_BG\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Няма намерен префикс."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Този псевдоним не съществува."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Няма използвани псевдоними на този сървър."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "Няма псевдоними положени към този бот."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Псевдоними:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Catalan\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: ca\n"
|
||||
"Language: ca_ES\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Czech\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: cs\n"
|
||||
"Language: cs_CZ\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Argumenty musí být zadány s číslem."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Argumenty musí být sekvenční. Chybějící argumenty: "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Nebyl nalezen žádný prefix."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr "Aliasy:\\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr "\\n\\nStrana {page}/{total}"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr "Spravovat aliasy příkazů."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr "Správa globálních aliasů."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr "Přidat alias pro příkaz."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot."
|
||||
msgstr "Pokusili jste se vytvořit nový globální alias s názvem {name}, ale toto jméno je již příkazem tohoto bota."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
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:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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 "Pokusili jste se vytvořit nový alias s názvem {name}, ale toto jméno je neplatným názvem aliasu. Jména aliasů nesmí obsahovat mezery."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
msgstr "Pokusili jste se vytvořit nový alias pro příkaz, který neexistuje."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
msgstr "Byl vytvořen nový alias se spouštěcím mechanismem `{name}."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr "Přidat globální alias pro příkaz."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot."
|
||||
msgstr "Pokusili jste se vytvořit nový globální alias s názvem {name}, ale toto jméno je již příkazem tohoto bota."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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 "Pokusili jste se vytvořit nový globální alias s názvem {name}, ale toto jméno je neplatným názvem aliasu. Jména aliasů nesmí obsahovat mezery."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
msgstr "Byl vytvořen nový globální alias se spouštěcím mechanismem `{name}."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
msgstr "Zkuste spustit nápovědu pro základní příkaz aliasů."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Žádný takový alias neexistuje."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr "Zobrazit příkaz ke spustitelnému aliasu."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr "Alias `{alias_name} provede příkaz `{command}"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr "Neexistuje žádný alias s názvem `{name}`"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr "Odstraní existující alias na tomto serveru."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Na tomto serveru nejsou žádné aliasy."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr "Alias s názvem{name}` byl úspěšně smazán."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
msgstr "Alias s názvem `{name}` nebyl nalezen."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr "Odstranit existující globální alias."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr ""
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr "Pro tohoto bota neexistují žádné globální aliasy."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr "Seznam dostupných aliasů na tomto serveru."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Aliasy:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
msgstr "Seznam dostupných globálních aliasů pro tohoto bota."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr "Neexistují žádné globální aliasy."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Argumenty musí být zadány s číslem."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Argumenty musí být sekvenční. Chybějící argumenty: "
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Danish\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: da\n"
|
||||
"Language: da_DK\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: German\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: de\n"
|
||||
"Language: de_DE\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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 "Erstelle einen Alias für einen Befehl.\\n\\n Aliases sind alternative Namen für Befehle.\\n können als Lambda (Speicherung von Argumenten für wiederholte Verwendung)\\n oder als einfache Verknüpfung zur Angabe von \\\"x y z\\\" fungieren.\\n\\n Wenn Sie ausgeführt werden, werden Alias zusätzliche Argumente annehmen\\n und sie an die gespeicherten Alias anhängen.\\n \\n "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Die Argumente müssen mit einer Nummer angegeben werden."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Argumente müssen sequentiell sein. Fehlende Argumente: "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Es wurde kein Prefix gefunden."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr "Verwalte die Alias Befehle."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr "Verwalte die globalen Aliasse."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr "Füge einen Alias für einen Befehl hinzu."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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 wird bereits für einen Befehl des Bots genutzt."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
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:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
msgstr "Du hast versucht einen Alias für einen Befehl zu erstellen, der nicht existiert."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr "Ein neuer Alias mit dem Namen`{name}` wurde erstellt."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, 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:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
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:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
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:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, 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:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "So ein Alias ist nicht vorhanden."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr "Zeige den Befehl, welchen der Alias ausführt."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
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:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr "Kein Alias mit dem Namen '{name}' gefunden"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr "Lösche einen bereits existierenden Alias auf diesem Server."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Es gibt keine Aliasse auf diesem Server."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
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:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr "Kein Alias mit dem Namen '{name}' gefunden."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr "Lösche einen bereits existierenden globalen Alias."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "Es gibt keine Aliasse in diesem Bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr "Ich habe keinen globalen Alias gespeichert."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr "Zeige die auf diesem Server verfügbaren Alias."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Aliasse:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr "Zeige die verfügbaren globalen Alias von diesem Bot."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr "Es gibt keine globalen Aliasse."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Die Argumente müssen mit einer Nummer angegeben werden."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Argumente müssen sequentiell sein. Fehlende Argumente: "
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Greek\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: el\n"
|
||||
"Language: el_GR\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Δεν βρέθηκε πρόθεμα."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: es-ES\n"
|
||||
"Language: es_ES\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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 ""
|
||||
msgstr "Crear alias para comandos.\\n\\n Los alias son accesos directos de nombres alternativos para comandos.\\n pueden actuar como un lambda (almacenando argumentos para uso repetido)\\n o simplemente como un atajo para decir \\\"x y z\\\".\\n\\n Cuando se ejecuta, los alias aceptarán cualquier argumento adicional\\n y los agregarán al alias almacenado.\\n "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Prefijo no encontrado."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
msgstr "Administra los alias de los comandos."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
msgstr "Administra los alias globales."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
msgstr "Agregar un alias para un comando."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot."
|
||||
msgstr "Intentaste crear un nuevo alias con el nombre {name} pero ese nombre ya es un comando en este bot."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
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:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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 "Intentaste crear un nuevo alias con el nombre {name} pero ese nombre es un alias inválido. Los alias no deben contener espacios."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
msgstr "Intentaste crear un nuevo alias para un comando que no existe."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
msgstr "Un nuevo alias con el trigger {name} ha sido creado."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
msgstr "Agrega un alias global para un comando."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot."
|
||||
msgstr "Intentaste crear un nuevo alias global con el nombre {name} pero ese nombre ya es un comando en este bot."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:322
|
||||
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:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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 "Intentaste crear un nuevo alias global con el nombre {name}, pero ese nombre es un nombre de alias inválido. Los nombres de alias no pueden contener espacios."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
msgstr "Un nuevo alias global con el trigger `{name}` ha sido creado."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
msgstr "Intenta ejecutar help para el comando base del alias."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Un alias no existe."
|
||||
msgstr "El alias no existe."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
msgstr "Muestra qué comando ejecuta el alias."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
msgstr "El alias `{alias_name}` ejecutará el comando `{command}`"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
msgstr "No hay alias con el nombre `{name}`"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
msgstr "Elimina un alias existente en este servidor."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "No hay los aliases en este servidor."
|
||||
msgstr "No hay alias en este servidor."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
msgstr "El alias con el nombre `{name}` ha eliminado correctamente."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
msgstr "El alias con nombre `{name}` no fue encontrado."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr "Elimina un alias global existente."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "No hay el los alias dentro de este bot."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
msgstr "Lista de los alias disponibles en este servidor."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Alias:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr "Lista de los alias globales disponibles en este bot."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Los argumentos deben especificarse con un número."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Los argumentos deben ser secuenciales. Faltan argumentos: "
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Finnish\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: fi\n"
|
||||
"Language: fi_FI\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: French\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: fr\n"
|
||||
"Language: fr_FR\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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 "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Les arguments doivent être spécifiés avec un nombre."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Les arguments doivent être séquentiels. Arguments manquants : "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Aucun préfixe trouvé."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr "Alias :\\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr "\\n\\nPage {page}/{total}"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr "Gérer les alias de commandes."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr "Gérer les alias globaux."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr "Ajouter un alias à une commande."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
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:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
msgstr "Vous avez essayé de créer un nouvel alias pour une commande qui n'existe pas."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
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:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr "Ajouter un alias global à une commande."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
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:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
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:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, 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:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Cet alias n'existe pas."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr "Affiche la commande que l'alias exécute."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
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:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr "Il n'y a pas d'alias nommé `{name}`"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr "Supprime un alias de ce serveur."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Il n'y a pas d'alias sur ce serveur."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr "L'alias nommé `{name}` a bien été supprimé."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr "L'alias nommé `{name}` n'a pas été trouvé."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr "Supprime un alias global existant."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "Il n'y a pas d'alias sur ce bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr "Il n'y a aucun alias global sur ce bot."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr "Liste les alias disponibles sur ce serveur."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Alias:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr "Liste les alias globaux disponibles sur ce bot."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr "Il n'y a aucun alias global."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Les arguments doivent être spécifiés avec un nombre."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Les arguments doivent être séquentiels. Arguments manquants : "
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Hebrew\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: he\n"
|
||||
"Language: he_IL\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: hu\n"
|
||||
"Language: hu_HU\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Nem találtható prefix."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Nem létezik ilyen rövidítés."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Nincsenek rövidítések ezen a szerveren."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "Nincsenek rövidítések ennél a botnál."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Rövidítések:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Indonesian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: id\n"
|
||||
"Language: id_ID\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Awalan tidak ditemukan."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Alias tersebut tidak ditemukan."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Tidak ada alias pada server ini."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "Tidak ada alias pada bot ini."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Alias:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Italian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: it\n"
|
||||
"Language: it_IT\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Gli argomenti devono essere specificati con un numero."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Nessun prefisso trovato."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr "Gestisci gli alias dei comandi."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr "Gestisci alias globali."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr "Aggiungi un alias per un comando."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot."
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
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:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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 "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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr "È stato creato un nuovo alias con il comando '{name}'."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr "Aggiungi un alias globale per un comando."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
msgid "You attempted to create a new global alias with the name {name} but that name is already a command on this bot."
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
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:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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 "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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr "È stato creato un nuovo alias globale con il comando '{name}'."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr "Prova a eseguire l'aiuto per il comando di base dell'alias."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Non esiste nessun alias con questo nome."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr "Mostra quale comando viene eseguito dall'alias."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr "L'alias `{alias_name}` eseguirà il comando `{command}`"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr "Non c'è nessun alias con il nome `{name}`"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr "Elimina un alias esistente su questo server."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Non ci sono alias su questo server."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr "L'alias con il nome `{name}` è stato eliminato con successo."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr "L'alias con il nome `{name}` non è stato trovato."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr "Elimina un alias globale esistente."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "Non ci sono alias su questo bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr "Elenca gli alias disponibili su questo server."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Alias:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr "Elenca gli alias globali disponibili su questo server."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Gli argomenti devono essere specificati con un numero."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Japanese\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: ja\n"
|
||||
"Language: ja_JP\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "プレフィックスが見つかりません。"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "そのようなエイリアスはありません。"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "このサーバにエイリアスはありません。"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "このボットにはエイリアスはありません。"
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "アリアス:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Korean\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: ko\n"
|
||||
"Language: ko_KR\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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 또는 단순히 \\\"x y z\\\"라고 말하는 바로가기 역할을 할 수 있어요.\\n\\n 실행할 시, 별칭들은 추가된 인수들을 승인할거예요.\\n 그리고 저장된 별칭들에 추가할거예요. "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "인수는 숫자로 지정해줘야해요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "인수는 순차적이어야해요. 미확인된 인수: "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "접두사가 발견되지 않았습니다."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr "명령어 별칭들을 관리하세요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr "글로벌 별칭들을 관리하세요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr "명령어에 대한 별칭을 등록해주세요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot."
|
||||
msgstr "이름이 {name}인 새 별칭을 생성하려고 했지만, 해당 이름은 이 봇의 명령어와 중복돼요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
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:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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 "이름이 {name}인 새 별칭을 생성하려고 했지만, 해당 이름은 사용할 수 없는 별칭 이름이에요. 별칭은 공백을 포함할 수 없어요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
msgstr "존재하지 않는 명령어에 대한 새 별칭을 생성하려고 시도하셨어요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
msgstr "`{name}`을 실행하는 새 별칭이 등록됐어요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr "명령어에 대한 글로벌 별칭을 등록해주세요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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}인 새 글로벌 별칭을 생성하려고 했지만, 해당 이름은 커맨드와 중복돼요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:322
|
||||
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:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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 "이름이 {name}인 새 글로벌 별칭을 생성하려고 했지만, 해당 별칭은 사용할 수 없는 별칭 이름이에요. 별칭 이름에는 공백을 포함할 수 없어요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
msgstr "`{name}`을 실행하는 새로운 글로벌 별칭이 등록됐어요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr "별칭의 기본 명령어에 대한 도움말을 실행해 보세요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "그런 별칭은 등록되어 있지 않아요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr "별칭이 실행하는 명령어를 표시해주세요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
msgstr "`{alias_name}` 별칭은 `{command}` 명령을 실행해요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
msgstr "이름이 `{name}`인 별칭이 없어요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr "이 서버에 있는 기존 별칭을 삭제해주세요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "이 서버에 등록된 별칭이 없어요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
msgstr "이름이 `{name}`인 별칭이 성공적으로 삭제됐어요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
msgstr "이름이 `{name}`인 별칭을 찾을 수 없어요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr "기존 글로벌 별칭들을 삭제해주세요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "이 봇에 등록된 별칭이 없어요."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr "이 서버에서 사용할 수 있는 별칭들을 나열해주세요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "등록된 별칭 리스트 :"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr "이 봇에서 사용할 수 있는 글로벌 별칭들을 나열해주세요."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "인수는 숫자로 지정해줘야해요."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "인수는 순차적이어야해요. 미확인된 인수: "
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Dutch\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: nl\n"
|
||||
"Language: nl_NL\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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 aliassen voor commando's.\\n\\n Aliassen zijn alternatieve namen of snelkoppelingen voor commando's. Ze\\n kunnen fungeren als een lambda (argumenten opslaan voor herhaald gebruik)\\n of als een snelkoppeling om \\\"x y z\\\" te zeggen.\\n\\n Aliassen accepteren extra argumenten wanneer ze zijn gebruikt\\n en voegen deze toe aan de opgeslagen alias.\\n "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Argumenten moeten worden gespecificeerd met een getal."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Argumenten moeten sequentieel zijn. Ontbrekende argumenten: "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Geen prefix gevonden."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr "Beheer commandaliassen."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr "Beheer globale aliassen."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr "Voeg een alias toe voor een opdracht."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
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:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
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:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr "Voeg een globale alias toe voor een opdracht."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
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:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
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:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, 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:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Deze alias bestaat niet."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr "Laat zien welk commando de alias uitvoert."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
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:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr "Er is geen alias met de naam'{name}'"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr "Verwijder een bestaande alias op deze server."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Er zijn geen aliases in deze server."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr "Alias met de naam `{name}` is succesvol verwijderd."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr "Alias met naam `{name}` is niet gevonden."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr "Een bestaande globale alias verwijderen."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "Er zijn geen aliases op deze bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, 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:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Aliassen:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr "Maak een lijst van de beschikbare globale aliassen op deze bot."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Argumenten moeten worden gespecificeerd met een getal."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Argumenten moeten sequentieel zijn. Ontbrekende argumenten: "
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: no\n"
|
||||
"Language: no_NO\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Argumenter må spesifiseres med et nummer."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Ingen prefiks funnet."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr "Administrer kommando aliaser."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr "Administrer globale aliaser."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr "Legg til et alias for en kommando."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
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:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
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:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr "Legg til et globalt alias for en kommando."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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 {name} men navnet er allerede en kommando på denne boten."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:322
|
||||
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 {name} men aliaset finnes allerede på denne serveren."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
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:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Ingen slike alias finnes."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Det er ingen aliaser på denne serveren."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "Det er ingen aliaser på denne boten."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Aliaser:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Argumenter må spesifiseres med et nummer."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Polish\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: pl\n"
|
||||
"Language: pl_PL\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Nie znaleziono prefiksu."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Taki alias nie istnieje."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Nie ma aliasów na tym serwerze."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "Nie ma żadnych aliasów dla tego bota."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Aliasy:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: pt-BR\n"
|
||||
"Language: pt_BR\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Nenhum prefixo encontrado."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Alias inexistente."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Não há nenhum alias neste servidor."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "Não há nenhum alias nesse bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Alias:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: pt-PT\n"
|
||||
"Language: pt_PT\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Romanian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: ro\n"
|
||||
"Language: ro_RO\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Russian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: ru\n"
|
||||
"Language: ru_RU\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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 "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Аргументы должны быть указаны с числом."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Аргументы должны быть последовательными. Отсутствующие аргументы: "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Префикс не найден."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr "\\n\\nСтраница {page}/{total}"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr "Управление псевдонимами команд."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr "Управление глобальными псевдонимами."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr "Добавить псевдоним для команды."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot."
|
||||
msgstr "Вы попытались создать новый псевдоним {name}, но это имя уже является командой для этого бота."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
msgstr "Вы пытались создать новый псевдоним {name}, но этот псевдоним уже существует на этом сервере."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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}, но это имя является недопустимым псевдонимом. Имена псевдонимов не могут содержать пробелов."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
msgstr "Вы попытались создать новый псевдоним для не существующей команды."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr "Новый псевдоним с триггером `{name}` был создан."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr "Добавить глобальный псевдоним для команды."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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}, но это имя уже является командой для этого бота."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
msgstr "Вы попытались создать новый глобальный псевдоним {name}, но этот псевдоним уже существует на этом сервере."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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}, но это имя является недопустимым псевдонимом. Имена псевдонимов не могут содержать пробелов."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr "Новый глобальный псевдоним с триггером `{name}` был создан."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr "Попробуйте вызвать справку для базовой команды псевдонима."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Псевдоним не существует."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr "Показать, какую команду выполняет псевдоним."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr "Псевдоним `{alias_name}` будет выполнять команду `{command}`"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr "Нет псевдонима с именем `{name}`"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr "Удалить существующий псевдоним на этом сервере."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "На этом сервере нет псевдонимов."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr "Псевдоним с именем `{name}` был успешно удален."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr "Псевдоним с именем `{name}` не найден."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr "Удалить существующий глобальный псевдоним."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "У этого бота нет псевдонимов."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr "У этого бота нет глобальных псевдонимов."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr "Список доступных псевдонимов на этом сервере."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Псевдонимы:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr "Список доступных глобальных псевдонимов для этого бота."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr "Нет глобальных псевдонимов."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Аргументы должны быть указаны с числом."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Аргументы должны быть последовательными. Отсутствующие аргументы: "
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Slovak\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: sk\n"
|
||||
"Language: sk_SK\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Serbian (Cyrillic)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: sr\n"
|
||||
"Language: sr_SP\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Swedish\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: sv-SE\n"
|
||||
"Language: sv_SE\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Inget prefix hittat."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Detta alias existerar inte."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Det finns inga alias på denna server."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "Det finns inga alias för denna bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Alias:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Turkish\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: tr\n"
|
||||
"Language: tr_TR\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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 "Komutlar için kısaltma yaratır.\\n\\n Kısaltmalar, komutlar için alternatiftir. Hem\\n kısaltma hem de komut bir arada kullanılabilir\\n Sadece kısaltmalar da kullanılabilir \\\"x y z\\\".\\n\\n Çalıştırıldığında, diğer adlar ek bağımsız değişkenleri\\n kabul eder ve bunları depolanan diğer ada ekler.\\n "
|
||||
|
||||
#: redbot/cogs/alias/alias.py:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Girdiler numara ile özelleştirilmiş olmalıdır."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Girdiler sırayla olmalıdır. Eksik girdiler:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "Öneki bulundu."
|
||||
msgstr "Ön ek bulunamadı."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr "Komut diğer adları yönetmek."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr "Küresel diğer adları yönetmek."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr "Bir komut için bir diğer ad ekleyin."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
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:263
|
||||
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:274
|
||||
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:286
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
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:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr "Komut kısaltmalarını yönet."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr "Global kısaltmaları yönet."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr "Bir komut için kısaltma ekleyin."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
msgid "You attempted to create a new alias with the name {name} but that name is already a command on this bot."
|
||||
msgstr "{name} adı ile yeni bir kısaltma oluşturmaya çalıştınız, ancak botta bu ad ile mevcut bir komut bulunuyor."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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} adı ile yeni bir kısaltma oluşturmaya çalıştınız, ancak belirttiğiniz geçersiz bir kısaltmadır. Kısaltmalar boşluk içermemelidir."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr "Mevcut olmayan bir komut için kısayol oluşturmaya çalıştınız."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr "Yeni bir kısaltma '{name}' tetikleyicisi ile oluşturuldu."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr "Bir komut için küresel bir diğer ad ekleyin."
|
||||
msgstr "Bir komut için global bir kısaltma ekleyin."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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."
|
||||
msgstr "{name} adı ile global bir kısaltma yaratmaya çalıştınız, ancak botta bu isimde bir komut mevcut."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:322
|
||||
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:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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."
|
||||
msgstr "{name} ile yeni bir global kısaltma oluşturmaya çalıştınız ancak bu kısaltma geçerli değil. Kısaltmalar boşluk içeremez."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
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."
|
||||
msgstr "Yeni bir global kısaltma '{name}' tetikleyicisi ile oluşturuldu."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, 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."
|
||||
msgstr "Kısaltmada kullanılan temel komutun kullanımı için yardım komutunu kullanmayı deneyiniz."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "Böyle bir takma var yok."
|
||||
msgstr "Böyle bir kısaltma mevcut değil."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr "Takma adın çalıştırıldığı komutu gösterin."
|
||||
msgstr "Kısaltmanın hangi komutu uyguladığını gösterir."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr "'{alias_name}' diğer ad komut '{command} ' idam edecek"
|
||||
msgstr "'{alias_name}' kısaltması '{command} ' komutunu uygulayacak."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr "Hiç diğer ad ad '{name} ' ile olduğunu"
|
||||
msgstr "{name} adında bir kısaltma mevcut değil."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr "Bu sunucuda varolan bir diğer adı silin."
|
||||
msgstr "Bu sunucuda mevcut bir kısaltmayı silin."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "Bu sunucuda hiçbir diğer adları vardır."
|
||||
msgstr "Bu sunucuda herhangi bir kısaltma mevcut değil."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr "`{name}`adlı takma ad başarıyla silindi."
|
||||
msgstr "`{name}`adlı kısaltma başarıyla silindi."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr "{Name} `adlı takma ad bulunamadı."
|
||||
msgstr "{name} adlı kısaltma bulunamadı."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr "Mevcut bir global takma adı silin."
|
||||
msgstr "Mevcut bir global kısaltmayı silin."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "Bu botta takma adlar yok."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr "Bu botta herhangi bir global kısaltma bulunmuyor."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr "Bu sunucudaki kullanılabilir diğer adları listeleyin."
|
||||
msgstr "Bu sunucudaki kullanılabilir kısaltmaları listeleyin."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "Takma adlar:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr "Bu botta mevcut küresel takma adları listeleyiniz."
|
||||
msgstr "Bot üzerindeki global kullanılabilir kısaltmaları listeleyin."
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr "Herhangi bir global kısaltma mevcut değil."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr "Değişkenler numara içermelidir."
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr "Değişkenler sıralı olmalıdır. Eksik değişkenler: "
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: uk\n"
|
||||
"Language: uk_UA\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: vi\n"
|
||||
"Language: vi_VN\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: zh-CN\n"
|
||||
"Language: zh_CN\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr "找不到前缀"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
msgstr "您尝试使用名称{name}创建新的全局别名,但该别名已经存在于此服务器上。"
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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}创建新的全局别名,但该名称是无效的别名。别名不能包含空格。"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr "已经创建一个包含触发器`{name}`的全局别名。"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr "不存在该别名。"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr "`{alias_name}`别要名将执行命令`{command}`"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr "没有名为`{name}`的别名"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr "在这个服务器上没有别名。"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr "已经成功删除名为`{name}`的别名。"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr "找不到名为`{name}`的别名。"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
msgstr "这个机器人上没有别名。"
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr "别名:"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Chinese Traditional, Hong Kong\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: zh-HK\n"
|
||||
"Language: zh_HK\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-04-02 12:07+0000\n"
|
||||
"POT-Creation-Date: 2020-06-04 12:12+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -13,139 +13,146 @@ msgstr ""
|
||||
"X-Crowdin-Language: zh-TW\n"
|
||||
"Language: zh_TW\n"
|
||||
|
||||
#: redbot/cogs/alias/alias.py:35
|
||||
#: redbot/cogs/alias/alias.py:31
|
||||
#, 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:111
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
#: redbot/cogs/alias/alias.py:86
|
||||
msgid "No prefix found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:235
|
||||
#: redbot/cogs/alias/alias.py:116
|
||||
msgid "Aliases:\\n"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:118
|
||||
msgid "\\n\\nPage {page}/{total}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:129
|
||||
#, docstring
|
||||
msgid "Manage command aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:240
|
||||
#: redbot/cogs/alias/alias.py:134
|
||||
#, docstring
|
||||
msgid "Manage global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:247
|
||||
#: redbot/cogs/alias/alias.py:141
|
||||
#, docstring
|
||||
msgid "Add an alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:252
|
||||
#: redbot/cogs/alias/alias.py:146
|
||||
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:263
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:157
|
||||
msgid "You attempted to create a new alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:274
|
||||
#: redbot/cogs/alias/alias.py:168
|
||||
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:286
|
||||
#: redbot/cogs/alias/alias.py:180 redbot/cogs/alias/alias.py:239
|
||||
msgid "You attempted to create a new alias for a command that doesn't exist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:300
|
||||
#: redbot/cogs/alias/alias.py:194
|
||||
msgid "A new alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:306
|
||||
#: redbot/cogs/alias/alias.py:200
|
||||
#, docstring
|
||||
msgid "Add a global alias for a command."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:311
|
||||
#: redbot/cogs/alias/alias.py:205
|
||||
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:322
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists on this server."
|
||||
#: redbot/cogs/alias/alias.py:216
|
||||
msgid "You attempted to create a new global alias with the name {name} but that alias already exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:333
|
||||
#: redbot/cogs/alias/alias.py:227
|
||||
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:349
|
||||
#: redbot/cogs/alias/alias.py:250
|
||||
msgid "A new global alias with the trigger `{name}` has been created."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:357
|
||||
#: redbot/cogs/alias/alias.py:258
|
||||
#, docstring
|
||||
msgid "Try to execute help for the base command of the alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:369
|
||||
#: redbot/cogs/alias/alias.py:263
|
||||
msgid "No such alias exists."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:374
|
||||
#: redbot/cogs/alias/alias.py:268
|
||||
#, docstring
|
||||
msgid "Show what command the alias executes."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:379
|
||||
#: redbot/cogs/alias/alias.py:273
|
||||
msgid "The `{alias_name}` alias will execute the command `{command}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:384
|
||||
#: redbot/cogs/alias/alias.py:278
|
||||
msgid "There is no alias with the name `{name}`"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:390
|
||||
#: redbot/cogs/alias/alias.py:284
|
||||
#, docstring
|
||||
msgid "Delete an existing alias on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:395 redbot/cogs/alias/alias.py:431
|
||||
#: redbot/cogs/alias/alias.py:442
|
||||
#: redbot/cogs/alias/alias.py:286 redbot/cogs/alias/alias.py:318
|
||||
msgid "There are no aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:400 redbot/cogs/alias/alias.py:418
|
||||
#: redbot/cogs/alias/alias.py:291 redbot/cogs/alias/alias.py:306
|
||||
msgid "Alias with the name `{name}` was successfully deleted."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:403 redbot/cogs/alias/alias.py:421
|
||||
#: redbot/cogs/alias/alias.py:294 redbot/cogs/alias/alias.py:309
|
||||
msgid "Alias with name `{name}` was not found."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:408
|
||||
#: redbot/cogs/alias/alias.py:299
|
||||
#, docstring
|
||||
msgid "Delete an existing global alias."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:413
|
||||
msgid "There are no aliases on this bot."
|
||||
#: redbot/cogs/alias/alias.py:301
|
||||
msgid "There are no global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:426
|
||||
#: redbot/cogs/alias/alias.py:315
|
||||
#, docstring
|
||||
msgid "List the available aliases on this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:427 redbot/cogs/alias/alias.py:438
|
||||
msgid "Aliases:"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:437
|
||||
#: redbot/cogs/alias/alias.py:324
|
||||
#, docstring
|
||||
msgid "List the available global aliases on this bot."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias.py:327
|
||||
msgid "There are no global aliases."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:174
|
||||
msgid "Arguments must be specified with a number."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/alias/alias_entry.py:181
|
||||
msgid "Arguments must be sequential. Missing arguments: "
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
from redbot.core import commands
|
||||
from redbot.core.bot import Red
|
||||
|
||||
from .audio import Audio
|
||||
from .core import Audio
|
||||
|
||||
|
||||
def setup(bot: commands.Bot):
|
||||
def setup(bot: Red):
|
||||
cog = Audio(bot)
|
||||
bot.add_cog(cog)
|
||||
cog.start_up_task()
|
||||
|
||||
10
redbot/cogs/audio/apis/__init__.py
Normal file
10
redbot/cogs/audio/apis/__init__.py
Normal file
@@ -0,0 +1,10 @@
|
||||
from . import (
|
||||
api_utils,
|
||||
global_db,
|
||||
interface,
|
||||
local_db,
|
||||
playlist_interface,
|
||||
playlist_wrapper,
|
||||
spotify,
|
||||
youtube,
|
||||
)
|
||||
140
redbot/cogs/audio/apis/api_utils.py
Normal file
140
redbot/cogs/audio/apis/api_utils.py
Normal file
@@ -0,0 +1,140 @@
|
||||
import datetime
|
||||
import json
|
||||
import logging
|
||||
from collections import namedtuple
|
||||
from dataclasses import dataclass, field
|
||||
from typing import List, MutableMapping, Optional, Union
|
||||
|
||||
import discord
|
||||
|
||||
from redbot.core.bot import Red
|
||||
from redbot.core.utils.chat_formatting import humanize_list
|
||||
|
||||
from ..errors import InvalidPlaylistScope, MissingAuthor, MissingGuild
|
||||
from ..utils import PlaylistScope
|
||||
|
||||
log = logging.getLogger("red.cogs.Audio.api.utils")
|
||||
|
||||
|
||||
@dataclass
|
||||
class YouTubeCacheFetchResult:
|
||||
query: Optional[str]
|
||||
last_updated: int
|
||||
|
||||
def __post_init__(self):
|
||||
if isinstance(self.last_updated, int):
|
||||
self.updated_on: datetime.datetime = datetime.datetime.fromtimestamp(self.last_updated)
|
||||
|
||||
|
||||
@dataclass
|
||||
class SpotifyCacheFetchResult:
|
||||
query: Optional[str]
|
||||
last_updated: int
|
||||
|
||||
def __post_init__(self):
|
||||
if isinstance(self.last_updated, int):
|
||||
self.updated_on: datetime.datetime = datetime.datetime.fromtimestamp(self.last_updated)
|
||||
|
||||
|
||||
@dataclass
|
||||
class LavalinkCacheFetchResult:
|
||||
query: Optional[MutableMapping]
|
||||
last_updated: int
|
||||
|
||||
def __post_init__(self):
|
||||
if isinstance(self.last_updated, int):
|
||||
self.updated_on: datetime.datetime = datetime.datetime.fromtimestamp(self.last_updated)
|
||||
|
||||
if isinstance(self.query, str):
|
||||
self.query = json.loads(self.query)
|
||||
|
||||
|
||||
@dataclass
|
||||
class LavalinkCacheFetchForGlobalResult:
|
||||
query: str
|
||||
data: MutableMapping
|
||||
|
||||
def __post_init__(self):
|
||||
if isinstance(self.data, str):
|
||||
self.data_string = str(self.data)
|
||||
self.data = json.loads(self.data)
|
||||
|
||||
|
||||
@dataclass
|
||||
class PlaylistFetchResult:
|
||||
playlist_id: int
|
||||
playlist_name: str
|
||||
scope_id: int
|
||||
author_id: int
|
||||
playlist_url: Optional[str] = None
|
||||
tracks: List[MutableMapping] = field(default_factory=lambda: [])
|
||||
|
||||
def __post_init__(self):
|
||||
if isinstance(self.tracks, str):
|
||||
self.tracks = json.loads(self.tracks)
|
||||
|
||||
|
||||
def standardize_scope(scope: str) -> str:
|
||||
"""Convert any of the used scopes into one we are expecting"""
|
||||
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 prepare_config_scope(
|
||||
bot: Red,
|
||||
scope,
|
||||
author: Union[discord.abc.User, int] = None,
|
||||
guild: Union[discord.Guild, int] = None,
|
||||
):
|
||||
"""Return the scope used by Playlists"""
|
||||
scope = standardize_scope(scope)
|
||||
if scope == PlaylistScope.GLOBAL.value:
|
||||
config_scope = [PlaylistScope.GLOBAL.value, bot.user.id]
|
||||
elif scope == PlaylistScope.USER.value:
|
||||
if author is None:
|
||||
raise MissingAuthor("Invalid author for user scope.")
|
||||
config_scope = [PlaylistScope.USER.value, int(getattr(author, "id", author))]
|
||||
else:
|
||||
if guild is None:
|
||||
raise MissingGuild("Invalid guild for guild scope.")
|
||||
config_scope = [PlaylistScope.GUILD.value, int(getattr(guild, "id", guild))]
|
||||
return config_scope
|
||||
|
||||
|
||||
def prepare_config_scope_for_migration23( # TODO: remove me in a future version ?
|
||||
scope, author: Union[discord.abc.User, int] = None, guild: discord.Guild = None
|
||||
):
|
||||
"""Return the scope used by Playlists"""
|
||||
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
|
||||
|
||||
|
||||
FakePlaylist = namedtuple("Playlist", "author scope")
|
||||
42
redbot/cogs/audio/apis/global_db.py
Normal file
42
redbot/cogs/audio/apis/global_db.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import asyncio
|
||||
import contextlib
|
||||
import logging
|
||||
import urllib.parse
|
||||
from typing import Mapping, Optional, TYPE_CHECKING, Union
|
||||
|
||||
import aiohttp
|
||||
from lavalink.rest_api import LoadResult
|
||||
|
||||
from redbot.core import Config
|
||||
from redbot.core.bot import Red
|
||||
from redbot.core.commands import Cog
|
||||
|
||||
from ..audio_dataclasses import Query
|
||||
from ..audio_logging import IS_DEBUG, debug_exc_log
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .. import Audio
|
||||
|
||||
_API_URL = "https://redbot.app/"
|
||||
|
||||
log = logging.getLogger("red.cogs.Audio.api.GlobalDB")
|
||||
|
||||
|
||||
class GlobalCacheWrapper:
|
||||
def __init__(
|
||||
self, bot: Red, config: Config, session: aiohttp.ClientSession, cog: Union["Audio", Cog]
|
||||
):
|
||||
# Place Holder for the Global Cache PR
|
||||
self.bot = bot
|
||||
self.config = config
|
||||
self.session = session
|
||||
self.api_key = None
|
||||
self._handshake_token = ""
|
||||
self.can_write = False
|
||||
self._handshake_token = ""
|
||||
self.has_api_key = None
|
||||
self._token: Mapping[str, str] = {}
|
||||
self.cog = cog
|
||||
|
||||
def update_token(self, new_token: Mapping[str, str]):
|
||||
self._token = new_token
|
||||
File diff suppressed because it is too large
Load Diff
372
redbot/cogs/audio/apis/local_db.py
Normal file
372
redbot/cogs/audio/apis/local_db.py
Normal file
@@ -0,0 +1,372 @@
|
||||
import concurrent
|
||||
import contextlib
|
||||
import datetime
|
||||
import logging
|
||||
import random
|
||||
import time
|
||||
from types import SimpleNamespace
|
||||
from typing import Callable, List, MutableMapping, Optional, TYPE_CHECKING, Tuple, Union
|
||||
|
||||
from redbot.core.utils import AsyncIter
|
||||
|
||||
from redbot.core import Config
|
||||
from redbot.core.bot import Red
|
||||
from redbot.core.commands import Cog
|
||||
from redbot.core.utils.dbtools import APSWConnectionWrapper
|
||||
|
||||
from ..audio_logging import debug_exc_log
|
||||
from ..sql_statements import (
|
||||
LAVALINK_CREATE_INDEX,
|
||||
LAVALINK_CREATE_TABLE,
|
||||
LAVALINK_DELETE_OLD_ENTRIES,
|
||||
LAVALINK_FETCH_ALL_ENTRIES_GLOBAL,
|
||||
LAVALINK_QUERY,
|
||||
LAVALINK_QUERY_ALL,
|
||||
LAVALINK_QUERY_LAST_FETCHED_RANDOM,
|
||||
LAVALINK_UPDATE,
|
||||
LAVALINK_UPSERT,
|
||||
SPOTIFY_CREATE_INDEX,
|
||||
SPOTIFY_CREATE_TABLE,
|
||||
SPOTIFY_DELETE_OLD_ENTRIES,
|
||||
SPOTIFY_QUERY,
|
||||
SPOTIFY_QUERY_ALL,
|
||||
SPOTIFY_QUERY_LAST_FETCHED_RANDOM,
|
||||
SPOTIFY_UPDATE,
|
||||
SPOTIFY_UPSERT,
|
||||
YOUTUBE_CREATE_INDEX,
|
||||
YOUTUBE_CREATE_TABLE,
|
||||
YOUTUBE_DELETE_OLD_ENTRIES,
|
||||
YOUTUBE_QUERY,
|
||||
YOUTUBE_QUERY_ALL,
|
||||
YOUTUBE_QUERY_LAST_FETCHED_RANDOM,
|
||||
YOUTUBE_UPDATE,
|
||||
YOUTUBE_UPSERT,
|
||||
PRAGMA_FETCH_user_version,
|
||||
PRAGMA_SET_journal_mode,
|
||||
PRAGMA_SET_read_uncommitted,
|
||||
PRAGMA_SET_temp_store,
|
||||
PRAGMA_SET_user_version,
|
||||
)
|
||||
from .api_utils import (
|
||||
LavalinkCacheFetchForGlobalResult,
|
||||
LavalinkCacheFetchResult,
|
||||
SpotifyCacheFetchResult,
|
||||
YouTubeCacheFetchResult,
|
||||
)
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .. import Audio
|
||||
|
||||
|
||||
log = logging.getLogger("red.cogs.Audio.api.LocalDB")
|
||||
|
||||
_SCHEMA_VERSION = 3
|
||||
|
||||
|
||||
class BaseWrapper:
|
||||
def __init__(
|
||||
self, bot: Red, config: Config, conn: APSWConnectionWrapper, cog: Union["Audio", Cog]
|
||||
):
|
||||
self.bot = bot
|
||||
self.config = config
|
||||
self.database = conn
|
||||
self.statement = SimpleNamespace()
|
||||
self.statement.pragma_temp_store = PRAGMA_SET_temp_store
|
||||
self.statement.pragma_journal_mode = PRAGMA_SET_journal_mode
|
||||
self.statement.pragma_read_uncommitted = PRAGMA_SET_read_uncommitted
|
||||
self.statement.set_user_version = PRAGMA_SET_user_version
|
||||
self.statement.get_user_version = PRAGMA_FETCH_user_version
|
||||
self.fetch_result: Optional[Callable] = None
|
||||
self.cog = cog
|
||||
|
||||
async def init(self) -> None:
|
||||
"""Initialize the local cache"""
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
executor.submit(self.database.cursor().execute, self.statement.pragma_temp_store)
|
||||
executor.submit(self.database.cursor().execute, self.statement.pragma_journal_mode)
|
||||
executor.submit(self.database.cursor().execute, self.statement.pragma_read_uncommitted)
|
||||
executor.submit(self.maybe_migrate)
|
||||
executor.submit(self.database.cursor().execute, LAVALINK_CREATE_TABLE)
|
||||
executor.submit(self.database.cursor().execute, LAVALINK_CREATE_INDEX)
|
||||
executor.submit(self.database.cursor().execute, YOUTUBE_CREATE_TABLE)
|
||||
executor.submit(self.database.cursor().execute, YOUTUBE_CREATE_INDEX)
|
||||
executor.submit(self.database.cursor().execute, SPOTIFY_CREATE_TABLE)
|
||||
executor.submit(self.database.cursor().execute, SPOTIFY_CREATE_INDEX)
|
||||
await self.clean_up_old_entries()
|
||||
|
||||
def close(self) -> None:
|
||||
"""Close the connection with the local cache"""
|
||||
with contextlib.suppress(Exception):
|
||||
self.database.close()
|
||||
|
||||
async def clean_up_old_entries(self) -> None:
|
||||
"""Delete entries older than x in the local cache tables"""
|
||||
max_age = await self.config.cache_age()
|
||||
maxage = datetime.datetime.now(tz=datetime.timezone.utc) - datetime.timedelta(days=max_age)
|
||||
maxage_int = int(time.mktime(maxage.timetuple()))
|
||||
values = {"maxage": maxage_int}
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
executor.submit(self.database.cursor().execute, LAVALINK_DELETE_OLD_ENTRIES, values)
|
||||
executor.submit(self.database.cursor().execute, YOUTUBE_DELETE_OLD_ENTRIES, values)
|
||||
executor.submit(self.database.cursor().execute, SPOTIFY_DELETE_OLD_ENTRIES, values)
|
||||
|
||||
def maybe_migrate(self) -> None:
|
||||
"""Maybe migrate Database schema for the local cache"""
|
||||
current_version = 0
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
for future in concurrent.futures.as_completed(
|
||||
[executor.submit(self.database.cursor().execute, self.statement.get_user_version)]
|
||||
):
|
||||
try:
|
||||
row_result = future.result()
|
||||
current_version = row_result.fetchone()
|
||||
break
|
||||
except Exception as exc:
|
||||
debug_exc_log(log, exc, "Failed to completed fetch from database")
|
||||
if isinstance(current_version, tuple):
|
||||
current_version = current_version[0]
|
||||
if current_version == _SCHEMA_VERSION:
|
||||
return
|
||||
executor.submit(
|
||||
self.database.cursor().execute,
|
||||
self.statement.set_user_version,
|
||||
{"version": _SCHEMA_VERSION},
|
||||
)
|
||||
|
||||
async def insert(self, values: List[MutableMapping]) -> None:
|
||||
"""Insert an entry into the local cache"""
|
||||
try:
|
||||
with self.database.transaction() as transaction:
|
||||
transaction.executemany(self.statement.upsert, values)
|
||||
except Exception as exc:
|
||||
debug_exc_log(log, exc, "Error during table insert")
|
||||
|
||||
async def update(self, values: MutableMapping) -> None:
|
||||
"""Update an entry of the local cache"""
|
||||
|
||||
try:
|
||||
time_now = int(datetime.datetime.now(datetime.timezone.utc).timestamp())
|
||||
values["last_fetched"] = time_now
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
executor.submit(self.database.cursor().execute, self.statement.update, values)
|
||||
except Exception as exc:
|
||||
debug_exc_log(log, exc, "Error during table update")
|
||||
|
||||
async def _fetch_one(
|
||||
self, values: MutableMapping
|
||||
) -> Optional[
|
||||
Union[LavalinkCacheFetchResult, SpotifyCacheFetchResult, YouTubeCacheFetchResult]
|
||||
]:
|
||||
"""Get an entry from the local cache"""
|
||||
max_age = await self.config.cache_age()
|
||||
maxage = datetime.datetime.now(tz=datetime.timezone.utc) - datetime.timedelta(days=max_age)
|
||||
maxage_int = int(time.mktime(maxage.timetuple()))
|
||||
values.update({"maxage": maxage_int})
|
||||
row = None
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
for future in concurrent.futures.as_completed(
|
||||
[executor.submit(self.database.cursor().execute, self.statement.get_one, values)]
|
||||
):
|
||||
try:
|
||||
row_result = future.result()
|
||||
row = row_result.fetchone()
|
||||
except Exception as exc:
|
||||
debug_exc_log(log, exc, "Failed to completed fetch from database")
|
||||
if not row:
|
||||
return None
|
||||
if self.fetch_result is None:
|
||||
return None
|
||||
return self.fetch_result(*row)
|
||||
|
||||
async def _fetch_all(
|
||||
self, values: MutableMapping
|
||||
) -> List[Union[LavalinkCacheFetchResult, SpotifyCacheFetchResult, YouTubeCacheFetchResult]]:
|
||||
"""Get all entries from the local cache"""
|
||||
output = []
|
||||
row_result = []
|
||||
if self.fetch_result is None:
|
||||
return []
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
for future in concurrent.futures.as_completed(
|
||||
[executor.submit(self.database.cursor().execute, self.statement.get_all, values)]
|
||||
):
|
||||
try:
|
||||
row_result = future.result()
|
||||
except Exception as exc:
|
||||
debug_exc_log(log, exc, "Failed to completed fetch from database")
|
||||
async for row in AsyncIter(row_result):
|
||||
output.append(self.fetch_result(*row))
|
||||
return output
|
||||
|
||||
async def _fetch_random(
|
||||
self, values: MutableMapping
|
||||
) -> Optional[
|
||||
Union[LavalinkCacheFetchResult, SpotifyCacheFetchResult, YouTubeCacheFetchResult]
|
||||
]:
|
||||
"""Get a random entry from the local cache"""
|
||||
row = None
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
for future in concurrent.futures.as_completed(
|
||||
[
|
||||
executor.submit(
|
||||
self.database.cursor().execute, self.statement.get_random, values
|
||||
)
|
||||
]
|
||||
):
|
||||
try:
|
||||
row_result = future.result()
|
||||
rows = row_result.fetchall()
|
||||
if rows:
|
||||
row = random.choice(rows)
|
||||
else:
|
||||
row = None
|
||||
except Exception as exc:
|
||||
debug_exc_log(log, exc, "Failed to completed random fetch from database")
|
||||
if not row:
|
||||
return None
|
||||
if self.fetch_result is None:
|
||||
return None
|
||||
return self.fetch_result(*row)
|
||||
|
||||
|
||||
class YouTubeTableWrapper(BaseWrapper):
|
||||
def __init__(
|
||||
self, bot: Red, config: Config, conn: APSWConnectionWrapper, cog: Union["Audio", Cog]
|
||||
):
|
||||
super().__init__(bot, config, conn, cog)
|
||||
self.statement.upsert = YOUTUBE_UPSERT
|
||||
self.statement.update = YOUTUBE_UPDATE
|
||||
self.statement.get_one = YOUTUBE_QUERY
|
||||
self.statement.get_all = YOUTUBE_QUERY_ALL
|
||||
self.statement.get_random = YOUTUBE_QUERY_LAST_FETCHED_RANDOM
|
||||
self.fetch_result = YouTubeCacheFetchResult
|
||||
|
||||
async def fetch_one(
|
||||
self, values: MutableMapping
|
||||
) -> Tuple[Optional[str], Optional[datetime.datetime]]:
|
||||
"""Get an entry from the Youtube table"""
|
||||
result = await self._fetch_one(values)
|
||||
if not result or not isinstance(result.query, str):
|
||||
return None, None
|
||||
return result.query, result.updated_on
|
||||
|
||||
async def fetch_all(self, values: MutableMapping) -> List[YouTubeCacheFetchResult]:
|
||||
"""Get all entries from the Youtube table"""
|
||||
result = await self._fetch_all(values)
|
||||
if result and isinstance(result[0], YouTubeCacheFetchResult):
|
||||
return result
|
||||
return []
|
||||
|
||||
async def fetch_random(self, values: MutableMapping) -> Optional[str]:
|
||||
"""Get a random entry from the Youtube table"""
|
||||
result = await self._fetch_random(values)
|
||||
if not result or not isinstance(result.query, str):
|
||||
return None
|
||||
return result.query
|
||||
|
||||
|
||||
class SpotifyTableWrapper(BaseWrapper):
|
||||
def __init__(
|
||||
self, bot: Red, config: Config, conn: APSWConnectionWrapper, cog: Union["Audio", Cog]
|
||||
):
|
||||
super().__init__(bot, config, conn, cog)
|
||||
self.statement.upsert = SPOTIFY_UPSERT
|
||||
self.statement.update = SPOTIFY_UPDATE
|
||||
self.statement.get_one = SPOTIFY_QUERY
|
||||
self.statement.get_all = SPOTIFY_QUERY_ALL
|
||||
self.statement.get_random = SPOTIFY_QUERY_LAST_FETCHED_RANDOM
|
||||
self.fetch_result = SpotifyCacheFetchResult
|
||||
|
||||
async def fetch_one(
|
||||
self, values: MutableMapping
|
||||
) -> Tuple[Optional[str], Optional[datetime.datetime]]:
|
||||
"""Get an entry from the Spotify table"""
|
||||
result = await self._fetch_one(values)
|
||||
if not result or not isinstance(result.query, str):
|
||||
return None, None
|
||||
return result.query, result.updated_on
|
||||
|
||||
async def fetch_all(self, values: MutableMapping) -> List[SpotifyCacheFetchResult]:
|
||||
"""Get all entries from the Spotify table"""
|
||||
result = await self._fetch_all(values)
|
||||
if result and isinstance(result[0], SpotifyCacheFetchResult):
|
||||
return result
|
||||
return []
|
||||
|
||||
async def fetch_random(self, values: MutableMapping) -> Optional[str]:
|
||||
"""Get a random entry from the Spotify table"""
|
||||
result = await self._fetch_random(values)
|
||||
if not result or not isinstance(result.query, str):
|
||||
return None
|
||||
return result.query
|
||||
|
||||
|
||||
class LavalinkTableWrapper(BaseWrapper):
|
||||
def __init__(
|
||||
self, bot: Red, config: Config, conn: APSWConnectionWrapper, cog: Union["Audio", Cog]
|
||||
):
|
||||
super().__init__(bot, config, conn, cog)
|
||||
self.statement.upsert = LAVALINK_UPSERT
|
||||
self.statement.update = LAVALINK_UPDATE
|
||||
self.statement.get_one = LAVALINK_QUERY
|
||||
self.statement.get_all = LAVALINK_QUERY_ALL
|
||||
self.statement.get_random = LAVALINK_QUERY_LAST_FETCHED_RANDOM
|
||||
self.statement.get_all_global = LAVALINK_FETCH_ALL_ENTRIES_GLOBAL
|
||||
self.fetch_result = LavalinkCacheFetchResult
|
||||
self.fetch_for_global: Optional[Callable] = None
|
||||
|
||||
async def fetch_one(
|
||||
self, values: MutableMapping
|
||||
) -> Tuple[Optional[MutableMapping], Optional[datetime.datetime]]:
|
||||
"""Get an entry from the Lavalink table"""
|
||||
result = await self._fetch_one(values)
|
||||
if not result or not isinstance(result.query, dict):
|
||||
return None, None
|
||||
return result.query, result.updated_on
|
||||
|
||||
async def fetch_all(self, values: MutableMapping) -> List[LavalinkCacheFetchResult]:
|
||||
"""Get all entries from the Lavalink table"""
|
||||
result = await self._fetch_all(values)
|
||||
if result and isinstance(result[0], LavalinkCacheFetchResult):
|
||||
return result
|
||||
return []
|
||||
|
||||
async def fetch_random(self, values: MutableMapping) -> Optional[MutableMapping]:
|
||||
"""Get a random entry from the Lavalink table"""
|
||||
result = await self._fetch_random(values)
|
||||
if not result or not isinstance(result.query, dict):
|
||||
return None
|
||||
return result.query
|
||||
|
||||
async def fetch_all_for_global(self) -> List[LavalinkCacheFetchForGlobalResult]:
|
||||
"""Get all entries from the Lavalink table"""
|
||||
output: List[LavalinkCacheFetchForGlobalResult] = []
|
||||
row_result = []
|
||||
if self.fetch_for_global is None:
|
||||
return []
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
for future in concurrent.futures.as_completed(
|
||||
[executor.submit(self.database.cursor().execute, self.statement.get_all_global)]
|
||||
):
|
||||
try:
|
||||
row_result = future.result()
|
||||
except Exception as exc:
|
||||
debug_exc_log(log, exc, "Failed to completed fetch from database")
|
||||
async for row in AsyncIter(row_result):
|
||||
output.append(self.fetch_for_global(*row))
|
||||
return output
|
||||
|
||||
|
||||
class LocalCacheWrapper:
|
||||
"""Wraps all table apis into 1 object representing the local cache"""
|
||||
|
||||
def __init__(
|
||||
self, bot: Red, config: Config, conn: APSWConnectionWrapper, cog: Union["Audio", Cog]
|
||||
):
|
||||
self.bot = bot
|
||||
self.config = config
|
||||
self.database = conn
|
||||
self.cog = cog
|
||||
self.lavalink: LavalinkTableWrapper = LavalinkTableWrapper(bot, config, conn, self.cog)
|
||||
self.spotify: SpotifyTableWrapper = SpotifyTableWrapper(bot, config, conn, self.cog)
|
||||
self.youtube: YouTubeTableWrapper = YouTubeTableWrapper(bot, config, conn, self.cog)
|
||||
63
redbot/cogs/audio/apis/locales/af-ZA.po
Normal file
63
redbot/cogs/audio/apis/locales/af-ZA.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Afrikaans\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: af\n"
|
||||
"Language: af_ZA\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/ar-SA.po
Normal file
63
redbot/cogs/audio/apis/locales/ar-SA.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\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-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: ar\n"
|
||||
"Language: ar_SA\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/bg-BG.po
Normal file
63
redbot/cogs/audio/apis/locales/bg-BG.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: bg\n"
|
||||
"Language: bg_BG\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/ca-ES.po
Normal file
63
redbot/cogs/audio/apis/locales/ca-ES.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Catalan\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: ca\n"
|
||||
"Language: ca_ES\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/cs-CZ.po
Normal file
63
redbot/cogs/audio/apis/locales/cs-CZ.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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.1\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: cs\n"
|
||||
"Language: cs_CZ\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr "Spotify API klíč nebo klientský tajný klíč nebyl správně nastaven. \\nPro pokyny použijte `{prefix}audioset spotifyapi`."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr "Nezdá se, že by to byla platná adresa Spotify playlistu/alba nebo kód."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr "Pravděpodobně se nejedná o podporovaný Spotify odkaz nebo kód."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr "Připojení bylo obnoveno při načítání seznamu skladeb."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr "Vypršel časový limit přehrávače, přeskakuji zbývající skladby."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr "Nepodařilo se získat skladby, zbývá přeskakování."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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 "Nic nenalezeno.\\nYouTube API klíč může být neplatný nebo může být omezen na YouTube's vyhledávací službu.\\nPodívejte se znovu na YouTube API klíč a postupujte podle instrukcí na `{prefix}audioset youtubeapi`."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr " {bad_tracks} skladby nemůžou být zařazeny do fronty."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr "Playlist zařazen do fronty"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr "Přidáno {num} skladeb do fronty.{maxlength_msg}"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr "{time} do začátku přehrávání playlistu: je na #{position} pozici ve frontě"
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr "Spotify API klíč nebo klientský tajný klíč nebyl správně nastaven. \\nPro pokyny použijte `{prefix}audioset spotifyapi`."
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/da-DK.po
Normal file
63
redbot/cogs/audio/apis/locales/da-DK.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: da\n"
|
||||
"Language: da_DK\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/de-DE.po
Normal file
63
redbot/cogs/audio/apis/locales/de-DE.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: de\n"
|
||||
"Language: de_DE\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr "Der Spotify API Key oder das Client secret wurden nicht richtig eingestellt.\\nBenutze `{prefix}audioset spotifyapi` für eine Anleitung."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr "Dies scheint keine unterstützte Spotify-URL oder Spotify-Code zu sein."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr "Die Verbindung wurde zurückgesetzt beim Laden der Playlist."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr "Audioplayer-Timeout. Verbleibende Titel werden übersprungen."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr "Fehler beim laden der Tracks. Verbleibende Tracks werden übersprungen."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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 "Nichts Gefunden.\\nDer Youtube API Key könnte falsch sein oder du überschreitest das Rate Limit der Youtube Suche.\\nKontrollieren den Youtube API Key nocheinmal und dann folge der Anleitung bei `{prefix}audioset youtubeapi`."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr "Wiedergabeliste eingereiht"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr "Es wurden {num} Tracks zu der Playlist hinzugefügt.{maxlength_msg}"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
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/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr "Der Spotify API Key oder das Client secret wurden nicht richtig eingestellt.\\nBenutze `{prefix}audioset spotifyapi` für eine Anleitung."
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/el-GR.po
Normal file
63
redbot/cogs/audio/apis/locales/el-GR.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: el\n"
|
||||
"Language: el_GR\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/es-ES.po
Normal file
63
redbot/cogs/audio/apis/locales/es-ES.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: es-ES\n"
|
||||
"Language: es_ES\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr "Lista de reproducción en cola"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/fi-FI.po
Normal file
63
redbot/cogs/audio/apis/locales/fi-FI.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: fi\n"
|
||||
"Language: fi_FI\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/fr-FR.po
Normal file
63
redbot/cogs/audio/apis/locales/fr-FR.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: fr\n"
|
||||
"Language: fr_FR\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr "La clé API de Spotify ou le secret client n'ont pas étés correctement définis. \\nUtilisez `{prefix}audioset spotifyapi` pour connaître la marche à suivre."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr "Cela ne semble pas être une URL ou un album/playlist Spotify valide."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr "Cela ne semble pas être une URL ou un code Spotify pris en charge."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
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/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr "Arrêt du lecteur, pistes restantes ignoré."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr "Impossible d'obtenir les pistes, pistes ignoré."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr " {bad_tracks} pistes ne peuvent pas être mises en attente."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr "Playlist en file d’attente"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr "Ajout de {num} pistes à la file d'attente.{maxlength_msg}"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
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/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr "La clé API de Spotify ou le secret client n'ont pas étés correctement définis. \\nUtilisez `{prefix}audioset spotifyapi` pour connaître la marche à suivre."
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/he-IL.po
Normal file
63
redbot/cogs/audio/apis/locales/he-IL.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Hebrew\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: he\n"
|
||||
"Language: he_IL\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/hu-HU.po
Normal file
63
redbot/cogs/audio/apis/locales/hu-HU.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: hu\n"
|
||||
"Language: hu_HU\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/id-ID.po
Normal file
63
redbot/cogs/audio/apis/locales/id-ID.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: id\n"
|
||||
"Language: id_ID\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/it-IT.po
Normal file
63
redbot/cogs/audio/apis/locales/it-IT.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: it\n"
|
||||
"Language: it_IT\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/ja-JP.po
Normal file
63
redbot/cogs/audio/apis/locales/ja-JP.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: ja\n"
|
||||
"Language: ja_JP\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/ko-KR.po
Normal file
63
redbot/cogs/audio/apis/locales/ko-KR.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: ko\n"
|
||||
"Language: ko_KR\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr "대기중인 재생 목록"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/nl-NL.po
Normal file
63
redbot/cogs/audio/apis/locales/nl-NL.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: nl\n"
|
||||
"Language: nl_NL\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr "Afspeellijst toegevoegd"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
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/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/no-NO.po
Normal file
63
redbot/cogs/audio/apis/locales/no-NO.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: no\n"
|
||||
"Language: no_NO\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/pl-PL.po
Normal file
63
redbot/cogs/audio/apis/locales/pl-PL.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\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-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: pl\n"
|
||||
"Language: pl_PL\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/pt-BR.po
Normal file
63
redbot/cogs/audio/apis/locales/pt-BR.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: pt-BR\n"
|
||||
"Language: pt_BR\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr "Isto não parece ser uma URL ou código do Spotify válido."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr "A conexão foi redefinida durante o carregamento da lista de reprodução."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr "Tempo limite do reprodutor atingido; saltando as faixas restantes."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr "Falha ao obter as faixas; saltando as faixas restantes."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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 "Nada encontrado.\\nA chave de API do YouTube pode ser inválida ou você pode estar sendo limitado pelas cotas do serviço de busca do YouTube.\\nVerifique a chave de API do YouTube novamente e siga as instruções em `{prefix}audioset youtubeapi`."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr "Lista de reprodução enfileirada"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr "{num} faixas enfileiradas.{maxlength_msg}"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr "{time} até o início da reprodução da lista: começa na posição #{position} da fila"
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/pt-PT.po
Normal file
63
redbot/cogs/audio/apis/locales/pt-PT.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: pt-PT\n"
|
||||
"Language: pt_PT\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/ro-RO.po
Normal file
63
redbot/cogs/audio/apis/locales/ro-RO.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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.1\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: ro\n"
|
||||
"Language: ro_RO\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/ru-RU.po
Normal file
63
redbot/cogs/audio/apis/locales/ru-RU.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\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-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: ru\n"
|
||||
"Language: ru_RU\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr "API ключ Spotify или секрет клиента были установлены неправильно. \\nДля получения инструкций используйте `{prefix}audioset spotifyapi`."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr "Это не похоже на поддерживаемый Spotify URL или код."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr "Соединение было сброшено при загрузке плейлиста."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr "Тайм-аут проигрывателя, пропуск оставшихся треков."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr "Не удалось получить треки, пропускаю оставшиеся треки."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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 "Ничего не найдено.\\nКлюч YouTube API может быть недействительным или вы можете оценить его в поисковой службе YouTube.\\nПроверьте YouTube API еще раз и следуйте инструкциям в `{prefix}audioset youtubeapi`."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr "Плейлист поставлен в очередь"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr "{num} треков добавлено в очередь.{maxlength_msg}"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr "{time} до начала воспроизведения плейлиста: начинается с #{position} в очереди"
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr "API ключ Spotify или секрет клиента были установлены неправильно. \\nДля получения инструкций используйте `{prefix}audioset spotifyapi`."
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/sk-SK.po
Normal file
63
redbot/cogs/audio/apis/locales/sk-SK.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: sk\n"
|
||||
"Language: sk_SK\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/sr-SP.po
Normal file
63
redbot/cogs/audio/apis/locales/sr-SP.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Serbian (Cyrillic)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: sr\n"
|
||||
"Language: sr_SP\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/sv-SE.po
Normal file
63
redbot/cogs/audio/apis/locales/sv-SE.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: sv-SE\n"
|
||||
"Language: sv_SE\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/tr-TR.po
Normal file
63
redbot/cogs/audio/apis/locales/tr-TR.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: tr\n"
|
||||
"Language: tr_TR\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr "Spotify API veya client secret'ı düzgün bir şekilde ayarlanmamış. \\n `{prefix}audioset spotifyapi` komutundan bilgi alabilirsiniz."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr "Bu geçerli bir Spotify URL'si ya da kodu gibi gözükmüyor."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr "Playlist yüklenirken bağlantı yenilendi."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr "Oynatıcı zaman aşımına uğradı, kalan parçalar atlanıyor."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr "Parça alınamıyor, atlanıyor."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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 "Hiçbir şey bulunamadı.\\nYouTube API keyi yanlış ya da API kullanımınız sınırlandırılmış.\\nYouTube API keyinizi kontrol edin ve `{prefix}audioset youtubeapi`'de ki yönlendirmeleri takip edin."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr "Playlist sıraya alındı."
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr "{num} adet şarkı sıraya eklendi.{maxlength_msg}"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr "Playlistin başlamasına {time} süre var: #{position} sırasında başlar."
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr "Spotify API veya client secret'ı düzgün bir şekilde ayarlanmamış. \\n `{prefix}audioset spotifyapi` komutundan bilgi alabilirsiniz."
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/uk-UA.po
Normal file
63
redbot/cogs/audio/apis/locales/uk-UA.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\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-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: uk\n"
|
||||
"Language: uk_UA\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/vi-VN.po
Normal file
63
redbot/cogs/audio/apis/locales/vi-VN.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: vi\n"
|
||||
"Language: vi_VN\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/zh-CN.po
Normal file
63
redbot/cogs/audio/apis/locales/zh-CN.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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 3.1\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: zh-CN\n"
|
||||
"Language: zh_CN\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/zh-HK.po
Normal file
63
redbot/cogs/audio/apis/locales/zh-HK.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Chinese Traditional, Hong Kong\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: zh-HK\n"
|
||||
"Language: zh_HK\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr ""
|
||||
|
||||
63
redbot/cogs/audio/apis/locales/zh-TW.po
Normal file
63
redbot/cogs/audio/apis/locales/zh-TW.po
Normal file
@@ -0,0 +1,63 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-05-21 12:08+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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.1\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: zh-TW\n"
|
||||
"Language: zh_TW\n"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:280
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr "Spotify API key或client secret未正確設置。\\n請使用`{prefix} audioset spotifyapi`獲取說明。"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:322
|
||||
msgid "This doesn't seem to be a valid Spotify playlist/album URL or code."
|
||||
msgstr "這似乎不是有效的Spotify播放列表/專輯URL或代碼。"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:443
|
||||
msgid "This doesn't seem to be a supported Spotify URL or code."
|
||||
msgstr "這似乎不是支持的Spotify URL或代碼。"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:509
|
||||
msgid "The connection was reset while loading the playlist."
|
||||
msgstr "加載播放列表時重置了連接。"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:518
|
||||
msgid "Player timeout, skipping remaining tracks."
|
||||
msgstr "播放器超時,跳過剩餘歌曲。"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:542
|
||||
msgid "Failing to get tracks, skipping remaining."
|
||||
msgstr "無法取得歌曲,跳過剩餘的歌曲。"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:592
|
||||
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 "找不到任何內容。\\n您的YouTube API key可能是無效的,或者您在YouTube的搜索服務上受到速率限制。\\n請檢查YouTube API key,然後按照`{prefix}audioset youtubeapi`中的說明進行操作。"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:602
|
||||
msgid " {bad_tracks} tracks cannot be queued."
|
||||
msgstr "{bad_tracks}首歌曲加載失敗。"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:610
|
||||
msgid "Playlist Enqueued"
|
||||
msgstr "已加入播放清單"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:611
|
||||
msgid "Added {num} tracks to the queue.{maxlength_msg}"
|
||||
msgstr "已將{num}首歌曲添加到播放清單中。{maxlength_msg}"
|
||||
|
||||
#: redbot/cogs/audio/apis/interface.py:617
|
||||
msgid "{time} until start of playlist playback: starts at #{position} in queue"
|
||||
msgstr "{time}後播放: 在播放清單的#{position}首之後"
|
||||
|
||||
#: redbot/cogs/audio/apis/spotify.py:165
|
||||
msgid "The Spotify API key or client secret has not been set properly. \\nUse `{prefix}audioset spotifyapi` for instructions."
|
||||
msgstr "Spotify API key或client secret未正確設置。\\n請使用`{prefix} audioset spotifyapi`獲取說明。"
|
||||
|
||||
@@ -1,259 +1,19 @@
|
||||
import asyncio
|
||||
from collections import namedtuple
|
||||
from typing import List, MutableMapping, Optional, Union, TYPE_CHECKING
|
||||
import logging
|
||||
from typing import List, MutableMapping, Optional, Union
|
||||
|
||||
import discord
|
||||
import lavalink
|
||||
from redbot.core.utils import AsyncIter
|
||||
|
||||
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 .databases import PlaylistFetchResult, PlaylistInterface
|
||||
from .errors import InvalidPlaylistScope, MissingAuthor, MissingGuild, NotAllowed
|
||||
from .utils import PlaylistScope
|
||||
from ..errors import NotAllowed
|
||||
from ..utils import PlaylistScope
|
||||
from .api_utils import PlaylistFetchResult, prepare_config_scope, standardize_scope
|
||||
from .playlist_wrapper import PlaylistWrapper
|
||||
|
||||
if TYPE_CHECKING:
|
||||
database: PlaylistInterface
|
||||
_bot: Red
|
||||
_config: Config
|
||||
else:
|
||||
database = None
|
||||
_bot = None
|
||||
_config = None
|
||||
|
||||
__all__ = [
|
||||
"Playlist",
|
||||
"get_playlist",
|
||||
"get_all_playlist",
|
||||
"create_playlist",
|
||||
"reset_playlist",
|
||||
"delete_playlist",
|
||||
"standardize_scope",
|
||||
"FakePlaylist",
|
||||
"get_all_playlist_for_migration23",
|
||||
"database",
|
||||
"get_all_playlist_converter",
|
||||
"get_playlist_database",
|
||||
]
|
||||
|
||||
FakePlaylist = namedtuple("Playlist", "author scope")
|
||||
|
||||
_ = Translator("Audio", __file__)
|
||||
|
||||
|
||||
def _pass_config_to_playlist(config: Config, bot: Red):
|
||||
global _config, _bot, database
|
||||
if _config is None:
|
||||
_config = config
|
||||
if _bot is None:
|
||||
_bot = bot
|
||||
if database is None:
|
||||
database = PlaylistInterface()
|
||||
|
||||
|
||||
def get_playlist_database() -> Optional[PlaylistInterface]:
|
||||
global database
|
||||
return database
|
||||
|
||||
|
||||
def standardize_scope(scope: str) -> 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 _prepare_config_scope(
|
||||
scope, author: Union[discord.abc.User, int] = None, guild: Union[discord.Guild, int] = None
|
||||
):
|
||||
scope = standardize_scope(scope)
|
||||
|
||||
if scope == PlaylistScope.GLOBAL.value:
|
||||
config_scope = [PlaylistScope.GLOBAL.value, _bot.user.id]
|
||||
elif scope == PlaylistScope.USER.value:
|
||||
if author is None:
|
||||
raise MissingAuthor("Invalid author for user scope.")
|
||||
config_scope = [PlaylistScope.USER.value, int(getattr(author, "id", author))]
|
||||
else:
|
||||
if guild is None:
|
||||
raise MissingGuild("Invalid guild for guild scope.")
|
||||
config_scope = [PlaylistScope.GUILD.value, int(getattr(guild, "id", guild))]
|
||||
return config_scope
|
||||
|
||||
|
||||
def _prepare_config_scope_for_migration23( # TODO: remove me in a future version ?
|
||||
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 PlaylistMigration23: # TODO: remove me in a future version ?
|
||||
"""A single playlist."""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
scope: str,
|
||||
author: int,
|
||||
playlist_id: int,
|
||||
name: str,
|
||||
playlist_url: Optional[str] = None,
|
||||
tracks: Optional[List[MutableMapping]] = None,
|
||||
guild: Union[discord.Guild, int, None] = None,
|
||||
):
|
||||
self.guild = guild
|
||||
self.scope = standardize_scope(scope)
|
||||
self.author = author
|
||||
self.id = playlist_id
|
||||
self.name = name
|
||||
self.url = playlist_url
|
||||
self.tracks = tracks or []
|
||||
|
||||
@classmethod
|
||||
async def from_json(
|
||||
cls, scope: str, playlist_number: int, data: MutableMapping, **kwargs
|
||||
) -> "PlaylistMigration23":
|
||||
"""Get a Playlist object from the provided information.
|
||||
Parameters
|
||||
----------
|
||||
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: int = data.get("author") or 0
|
||||
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(
|
||||
guild=guild,
|
||||
scope=scope,
|
||||
author=author,
|
||||
playlist_id=playlist_id,
|
||||
name=name,
|
||||
playlist_url=playlist_url,
|
||||
tracks=tracks,
|
||||
)
|
||||
|
||||
async def save(self):
|
||||
"""Saves a Playlist to SQL."""
|
||||
scope, scope_id = _prepare_config_scope(self.scope, self.author, self.guild)
|
||||
database.upsert(
|
||||
scope,
|
||||
playlist_id=int(self.id),
|
||||
playlist_name=self.name,
|
||||
scope_id=scope_id,
|
||||
author_id=self.author,
|
||||
playlist_url=self.url,
|
||||
tracks=self.tracks,
|
||||
)
|
||||
|
||||
|
||||
async def get_all_playlist_for_migration23( # TODO: remove me in a future version ?
|
||||
scope: str, guild: Union[discord.Guild, int] = None
|
||||
) -> List[PlaylistMigration23]:
|
||||
"""
|
||||
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.
|
||||
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(scope).all()
|
||||
if scope == PlaylistScope.GLOBAL.value:
|
||||
return [
|
||||
await PlaylistMigration23.from_json(
|
||||
scope,
|
||||
playlist_number,
|
||||
playlist_data,
|
||||
guild=guild,
|
||||
author=int(playlist_data.get("author", 0)),
|
||||
)
|
||||
for playlist_number, playlist_data in playlists.items()
|
||||
]
|
||||
elif scope == PlaylistScope.USER.value:
|
||||
return [
|
||||
await PlaylistMigration23.from_json(
|
||||
scope, playlist_number, playlist_data, guild=guild, author=int(user_id)
|
||||
)
|
||||
for user_id, scopedata in playlists.items()
|
||||
for playlist_number, playlist_data in scopedata.items()
|
||||
]
|
||||
else:
|
||||
return [
|
||||
await PlaylistMigration23.from_json(
|
||||
scope,
|
||||
playlist_number,
|
||||
playlist_data,
|
||||
guild=int(guild_id),
|
||||
author=int(playlist_data.get("author", 0)),
|
||||
)
|
||||
for guild_id, scopedata in playlists.items()
|
||||
for playlist_number, playlist_data in scopedata.items()
|
||||
]
|
||||
log = logging.getLogger("red.cogs.Audio.api.PlaylistsInterface")
|
||||
|
||||
|
||||
class Playlist:
|
||||
@@ -262,6 +22,7 @@ class Playlist:
|
||||
def __init__(
|
||||
self,
|
||||
bot: Red,
|
||||
playlist_api: PlaylistWrapper,
|
||||
scope: str,
|
||||
author: int,
|
||||
playlist_id: int,
|
||||
@@ -273,7 +34,7 @@ class Playlist:
|
||||
self.bot = bot
|
||||
self.guild = guild
|
||||
self.scope = standardize_scope(scope)
|
||||
self.config_scope = _prepare_config_scope(self.scope, author, guild)
|
||||
self.config_scope = prepare_config_scope(self.bot, self.scope, author, guild)
|
||||
self.scope_id = self.config_scope[-1]
|
||||
self.author = author
|
||||
self.author_id = getattr(self.author, "id", self.author)
|
||||
@@ -285,6 +46,7 @@ class Playlist:
|
||||
self.url = playlist_url
|
||||
self.tracks = tracks or []
|
||||
self.tracks_obj = [lavalink.Track(data=track) for track in self.tracks]
|
||||
self.playlist_api = playlist_api
|
||||
|
||||
def __repr__(self):
|
||||
return (
|
||||
@@ -313,7 +75,7 @@ class Playlist:
|
||||
async def save(self):
|
||||
"""Saves a Playlist."""
|
||||
scope, scope_id = self.config_scope
|
||||
database.upsert(
|
||||
await self.playlist_api.upsert(
|
||||
scope,
|
||||
playlist_id=int(self.id),
|
||||
playlist_name=self.name,
|
||||
@@ -343,13 +105,21 @@ class Playlist:
|
||||
|
||||
@classmethod
|
||||
async def from_json(
|
||||
cls, bot: Red, scope: str, playlist_number: int, data: PlaylistFetchResult, **kwargs
|
||||
cls,
|
||||
bot: Red,
|
||||
playlist_api: PlaylistWrapper,
|
||||
scope: str,
|
||||
playlist_number: int,
|
||||
data: PlaylistFetchResult,
|
||||
**kwargs,
|
||||
) -> "Playlist":
|
||||
"""Get a Playlist object from the provided information.
|
||||
Parameters
|
||||
----------
|
||||
bot: Red
|
||||
The bot's instance. Needed to get the target user.
|
||||
playlist_api: PlaylistWrapper
|
||||
The Playlist API interface.
|
||||
scope:str
|
||||
The custom config scope. One of 'GLOBALPLAYLIST', 'GUILDPLAYLIST' or 'USERPLAYLIST'.
|
||||
playlist_number: int
|
||||
@@ -382,6 +152,7 @@ class Playlist:
|
||||
|
||||
return cls(
|
||||
bot=bot,
|
||||
playlist_api=playlist_api,
|
||||
guild=guild,
|
||||
scope=scope,
|
||||
author=author,
|
||||
@@ -392,10 +163,189 @@ class Playlist:
|
||||
)
|
||||
|
||||
|
||||
class PlaylistCompat23:
|
||||
"""A single playlist, migrating from Schema 2 to Schema 3"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
bot: Red,
|
||||
playlist_api: PlaylistWrapper,
|
||||
scope: str,
|
||||
author: int,
|
||||
playlist_id: int,
|
||||
name: str,
|
||||
playlist_url: Optional[str] = None,
|
||||
tracks: Optional[List[MutableMapping]] = None,
|
||||
guild: Union[discord.Guild, int, None] = None,
|
||||
):
|
||||
|
||||
self.bot = bot
|
||||
self.guild = guild
|
||||
self.scope = standardize_scope(scope)
|
||||
self.author = author
|
||||
self.id = playlist_id
|
||||
self.name = name
|
||||
self.url = playlist_url
|
||||
self.tracks = tracks or []
|
||||
|
||||
self.playlist_api = playlist_api
|
||||
|
||||
@classmethod
|
||||
async def from_json(
|
||||
cls,
|
||||
bot: Red,
|
||||
playlist_api: PlaylistWrapper,
|
||||
scope: str,
|
||||
playlist_number: int,
|
||||
data: MutableMapping,
|
||||
**kwargs,
|
||||
) -> "PlaylistCompat23":
|
||||
"""Get a Playlist object from the provided information.
|
||||
Parameters
|
||||
----------
|
||||
bot: Red
|
||||
The Bot instance.
|
||||
playlist_api: PlaylistWrapper
|
||||
The Playlist API interface.
|
||||
scope:str
|
||||
The custom config scope. One of 'GLOBALPLAYLIST', 'GUILDPLAYLIST' or 'USERPLAYLIST'.
|
||||
playlist_number: int
|
||||
The playlist's number.
|
||||
data: MutableMapping
|
||||
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: int = data.get("author") or 0
|
||||
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,
|
||||
playlist_api=playlist_api,
|
||||
guild=guild,
|
||||
scope=scope,
|
||||
author=author,
|
||||
playlist_id=playlist_id,
|
||||
name=name,
|
||||
playlist_url=playlist_url,
|
||||
tracks=tracks,
|
||||
)
|
||||
|
||||
async def save(self):
|
||||
"""Saves a Playlist to SQL."""
|
||||
scope, scope_id = prepare_config_scope(self.bot, self.scope, self.author, self.guild)
|
||||
await self.playlist_api.upsert(
|
||||
scope,
|
||||
playlist_id=int(self.id),
|
||||
playlist_name=self.name,
|
||||
scope_id=scope_id,
|
||||
author_id=self.author,
|
||||
playlist_url=self.url,
|
||||
tracks=self.tracks,
|
||||
)
|
||||
|
||||
|
||||
async def get_all_playlist_for_migration23(
|
||||
bot: Red,
|
||||
playlist_api: PlaylistWrapper,
|
||||
config: Config,
|
||||
scope: str,
|
||||
guild: Union[discord.Guild, int] = None,
|
||||
) -> List[PlaylistCompat23]:
|
||||
"""
|
||||
Gets all playlist for the specified scope.
|
||||
Parameters
|
||||
----------
|
||||
bot: Red
|
||||
The Bot instance.
|
||||
playlist_api: PlaylistWrapper
|
||||
The Playlist API interface.
|
||||
config: Config
|
||||
The Audio cog Config instance.
|
||||
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.
|
||||
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(scope).all()
|
||||
if scope == PlaylistScope.GLOBAL.value:
|
||||
return [
|
||||
await PlaylistCompat23.from_json(
|
||||
bot,
|
||||
playlist_api,
|
||||
scope,
|
||||
playlist_number,
|
||||
playlist_data,
|
||||
guild=guild,
|
||||
author=int(playlist_data.get("author", 0)),
|
||||
)
|
||||
async for playlist_number, playlist_data in AsyncIter(playlists.items())
|
||||
]
|
||||
elif scope == PlaylistScope.USER.value:
|
||||
return [
|
||||
await PlaylistCompat23.from_json(
|
||||
bot,
|
||||
playlist_api,
|
||||
scope,
|
||||
playlist_number,
|
||||
playlist_data,
|
||||
guild=guild,
|
||||
author=int(user_id),
|
||||
)
|
||||
async for user_id, scopedata in AsyncIter(playlists.items())
|
||||
async for playlist_number, playlist_data in AsyncIter(scopedata.items())
|
||||
]
|
||||
else:
|
||||
return [
|
||||
await PlaylistCompat23.from_json(
|
||||
bot,
|
||||
playlist_api,
|
||||
scope,
|
||||
playlist_number,
|
||||
playlist_data,
|
||||
guild=int(guild_id),
|
||||
author=int(playlist_data.get("author", 0)),
|
||||
)
|
||||
async for guild_id, scopedata in AsyncIter(playlists.items())
|
||||
async for playlist_number, playlist_data in AsyncIter(scopedata.items())
|
||||
]
|
||||
|
||||
|
||||
async def get_playlist(
|
||||
playlist_number: int,
|
||||
scope: str,
|
||||
bot: Red,
|
||||
playlist_api: PlaylistWrapper,
|
||||
guild: Union[discord.Guild, int] = None,
|
||||
author: Union[discord.abc.User, int] = None,
|
||||
) -> Playlist:
|
||||
@@ -405,6 +355,8 @@ async def get_playlist(
|
||||
----------
|
||||
playlist_number: int
|
||||
The playlist number for the playlist to get.
|
||||
playlist_api: PlaylistWrapper
|
||||
The Playlist API interface.
|
||||
scope: str
|
||||
The custom config scope. One of 'GLOBALPLAYLIST', 'GUILDPLAYLIST' or 'USERPLAYLIST'.
|
||||
guild: discord.Guild
|
||||
@@ -428,19 +380,26 @@ async def get_playlist(
|
||||
`MissingAuthor`
|
||||
Trying to access the User scope without an user id.
|
||||
"""
|
||||
scope_standard, scope_id = _prepare_config_scope(scope, author, guild)
|
||||
playlist_data = database.fetch(scope_standard, playlist_number, scope_id)
|
||||
scope_standard, scope_id = prepare_config_scope(bot, scope, author, guild)
|
||||
playlist_data = await playlist_api.fetch(scope_standard, playlist_number, scope_id)
|
||||
|
||||
if not (playlist_data and playlist_data.playlist_id):
|
||||
raise RuntimeError(f"That playlist does not exist for the following scope: {scope}")
|
||||
return await Playlist.from_json(
|
||||
bot, scope_standard, playlist_number, playlist_data, guild=guild, author=author
|
||||
bot,
|
||||
playlist_api,
|
||||
scope_standard,
|
||||
playlist_number,
|
||||
playlist_data,
|
||||
guild=guild,
|
||||
author=author,
|
||||
)
|
||||
|
||||
|
||||
async def get_all_playlist(
|
||||
scope: str,
|
||||
bot: Red,
|
||||
playlist_api: PlaylistWrapper,
|
||||
guild: Union[discord.Guild, int] = None,
|
||||
author: Union[discord.abc.User, int] = None,
|
||||
specified_user: bool = False,
|
||||
@@ -457,13 +416,15 @@ async def get_all_playlist(
|
||||
The ID of the user to get the playlist from if scope is USERPLAYLIST.
|
||||
bot: Red
|
||||
The bot's instance
|
||||
playlist_api: PlaylistWrapper
|
||||
The Playlist API interface.
|
||||
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
|
||||
Raises
|
||||
------
|
||||
`InvalidPlaylistScope`
|
||||
Passing a scope that is not supported.
|
||||
@@ -472,28 +433,34 @@ async def get_all_playlist(
|
||||
`MissingAuthor`
|
||||
Trying to access the User scope without an user id.
|
||||
"""
|
||||
scope_standard, scope_id = _prepare_config_scope(scope, author, guild)
|
||||
scope_standard, scope_id = prepare_config_scope(bot, scope, author, guild)
|
||||
|
||||
if specified_user:
|
||||
user_id = getattr(author, "id", author)
|
||||
playlists = await database.fetch_all(scope_standard, scope_id, author_id=user_id)
|
||||
playlists = await playlist_api.fetch_all(scope_standard, scope_id, author_id=user_id)
|
||||
else:
|
||||
playlists = await database.fetch_all(scope_standard, scope_id)
|
||||
playlists = await playlist_api.fetch_all(scope_standard, scope_id)
|
||||
|
||||
playlist_list = []
|
||||
for playlist in playlists:
|
||||
async for playlist in AsyncIter(playlists):
|
||||
playlist_list.append(
|
||||
await Playlist.from_json(
|
||||
bot, scope, playlist.playlist_id, playlist, guild=guild, author=author
|
||||
bot,
|
||||
playlist_api,
|
||||
scope,
|
||||
playlist.playlist_id,
|
||||
playlist,
|
||||
guild=guild,
|
||||
author=author,
|
||||
)
|
||||
)
|
||||
await asyncio.sleep(0)
|
||||
return playlist_list
|
||||
|
||||
|
||||
async def get_all_playlist_converter(
|
||||
scope: str,
|
||||
bot: Red,
|
||||
playlist_api: PlaylistWrapper,
|
||||
arg: str,
|
||||
guild: Union[discord.Guild, int] = None,
|
||||
author: Union[discord.abc.User, int] = None,
|
||||
@@ -512,11 +479,13 @@ async def get_all_playlist_converter(
|
||||
The bot's instance
|
||||
arg:str
|
||||
The value to lookup.
|
||||
playlist_api: PlaylistWrapper
|
||||
The Playlist API interface.
|
||||
Returns
|
||||
-------
|
||||
list
|
||||
A list of all playlists for the specified scope
|
||||
Raises
|
||||
Raises
|
||||
------
|
||||
`InvalidPlaylistScope`
|
||||
Passing a scope that is not supported.
|
||||
@@ -525,23 +494,29 @@ async def get_all_playlist_converter(
|
||||
`MissingAuthor`
|
||||
Trying to access the User scope without an user id.
|
||||
"""
|
||||
scope_standard, scope_id = _prepare_config_scope(scope, author, guild)
|
||||
playlists = await database.fetch_all_converter(
|
||||
scope_standard, scope_id = prepare_config_scope(bot, scope, author, guild)
|
||||
playlists = await playlist_api.fetch_all_converter(
|
||||
scope_standard, playlist_name=arg, playlist_id=arg
|
||||
)
|
||||
playlist_list = []
|
||||
for playlist in playlists:
|
||||
async for playlist in AsyncIter(playlists):
|
||||
playlist_list.append(
|
||||
await Playlist.from_json(
|
||||
bot, scope, playlist.playlist_id, playlist, guild=guild, author=author
|
||||
bot,
|
||||
playlist_api,
|
||||
scope,
|
||||
playlist.playlist_id,
|
||||
playlist,
|
||||
guild=guild,
|
||||
author=author,
|
||||
)
|
||||
)
|
||||
await asyncio.sleep(0)
|
||||
return playlist_list
|
||||
|
||||
|
||||
async def create_playlist(
|
||||
ctx: commands.Context,
|
||||
playlist_api: PlaylistWrapper,
|
||||
scope: str,
|
||||
playlist_name: str,
|
||||
playlist_url: Optional[str] = None,
|
||||
@@ -570,6 +545,8 @@ async def create_playlist(
|
||||
guild: discord.Guild
|
||||
The guild to create this playlist under.
|
||||
This is only used when creating a playlist in the Guild scope
|
||||
playlist_api: PlaylistWrapper
|
||||
The Playlist API interface.
|
||||
|
||||
Raises
|
||||
------
|
||||
@@ -583,6 +560,7 @@ async def create_playlist(
|
||||
|
||||
playlist = Playlist(
|
||||
ctx.bot,
|
||||
playlist_api,
|
||||
scope,
|
||||
author.id if author else None,
|
||||
ctx.message.id,
|
||||
@@ -596,6 +574,8 @@ async def create_playlist(
|
||||
|
||||
|
||||
async def reset_playlist(
|
||||
bot: Red,
|
||||
playlist_api: PlaylistWrapper,
|
||||
scope: str,
|
||||
guild: Union[discord.Guild, int] = None,
|
||||
author: Union[discord.abc.User, int] = None,
|
||||
@@ -604,14 +584,18 @@ async def reset_playlist(
|
||||
|
||||
Parameters
|
||||
----------
|
||||
bot: Red
|
||||
The bot's instance
|
||||
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.
|
||||
playlist_api: PlaylistWrapper
|
||||
The Playlist API interface.
|
||||
|
||||
Raises
|
||||
Raises
|
||||
------
|
||||
`InvalidPlaylistScope`
|
||||
Passing a scope that is not supported.
|
||||
@@ -620,12 +604,14 @@ async def reset_playlist(
|
||||
`MissingAuthor`
|
||||
Trying to access the User scope without an user id.
|
||||
"""
|
||||
scope, scope_id = _prepare_config_scope(scope, author, guild)
|
||||
database.drop(scope)
|
||||
database.create_table(scope)
|
||||
scope, scope_id = prepare_config_scope(bot, scope, author, guild)
|
||||
await playlist_api.drop(scope)
|
||||
await playlist_api.create_table()
|
||||
|
||||
|
||||
async def delete_playlist(
|
||||
bot: Red,
|
||||
playlist_api: PlaylistWrapper,
|
||||
scope: str,
|
||||
playlist_id: Union[str, int],
|
||||
guild: discord.Guild,
|
||||
@@ -635,6 +621,8 @@ async def delete_playlist(
|
||||
|
||||
Parameters
|
||||
----------
|
||||
bot: Red
|
||||
The bot's instance
|
||||
scope: str
|
||||
The custom config scope. One of 'GLOBALPLAYLIST', 'GUILDPLAYLIST' or 'USERPLAYLIST'.
|
||||
playlist_id: Union[str, int]
|
||||
@@ -643,8 +631,10 @@ async def delete_playlist(
|
||||
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.
|
||||
playlist_api: PlaylistWrapper
|
||||
The Playlist API interface.
|
||||
|
||||
Raises
|
||||
Raises
|
||||
------
|
||||
`InvalidPlaylistScope`
|
||||
Passing a scope that is not supported.
|
||||
@@ -653,5 +643,5 @@ async def delete_playlist(
|
||||
`MissingAuthor`
|
||||
Trying to access the User scope without an user id.
|
||||
"""
|
||||
scope, scope_id = _prepare_config_scope(scope, author, guild)
|
||||
database.delete(scope, int(playlist_id), scope_id)
|
||||
scope, scope_id = prepare_config_scope(bot, scope, author, guild)
|
||||
await playlist_api.delete(scope, int(playlist_id), scope_id)
|
||||
249
redbot/cogs/audio/apis/playlist_wrapper.py
Normal file
249
redbot/cogs/audio/apis/playlist_wrapper.py
Normal file
@@ -0,0 +1,249 @@
|
||||
import concurrent
|
||||
import json
|
||||
import logging
|
||||
from types import SimpleNamespace
|
||||
from typing import List, MutableMapping, Optional
|
||||
|
||||
from redbot.core.utils import AsyncIter
|
||||
|
||||
from redbot.core import Config
|
||||
from redbot.core.bot import Red
|
||||
from redbot.core.utils.dbtools import APSWConnectionWrapper
|
||||
|
||||
from ..audio_logging import debug_exc_log
|
||||
from ..sql_statements import (
|
||||
PLAYLIST_CREATE_INDEX,
|
||||
PLAYLIST_CREATE_TABLE,
|
||||
PLAYLIST_DELETE,
|
||||
PLAYLIST_DELETE_SCHEDULED,
|
||||
PLAYLIST_DELETE_SCOPE,
|
||||
PLAYLIST_FETCH,
|
||||
PLAYLIST_FETCH_ALL,
|
||||
PLAYLIST_FETCH_ALL_CONVERTER,
|
||||
PLAYLIST_FETCH_ALL_WITH_FILTER,
|
||||
PLAYLIST_UPSERT,
|
||||
PRAGMA_FETCH_user_version,
|
||||
PRAGMA_SET_journal_mode,
|
||||
PRAGMA_SET_read_uncommitted,
|
||||
PRAGMA_SET_temp_store,
|
||||
PRAGMA_SET_user_version,
|
||||
)
|
||||
from ..utils import PlaylistScope
|
||||
from .api_utils import PlaylistFetchResult
|
||||
|
||||
log = logging.getLogger("red.cogs.Audio.api.Playlists")
|
||||
|
||||
|
||||
class PlaylistWrapper:
|
||||
def __init__(self, bot: Red, config: Config, conn: APSWConnectionWrapper):
|
||||
self.bot = bot
|
||||
self.database = conn
|
||||
self.config = config
|
||||
self.statement = SimpleNamespace()
|
||||
self.statement.pragma_temp_store = PRAGMA_SET_temp_store
|
||||
self.statement.pragma_journal_mode = PRAGMA_SET_journal_mode
|
||||
self.statement.pragma_read_uncommitted = PRAGMA_SET_read_uncommitted
|
||||
self.statement.set_user_version = PRAGMA_SET_user_version
|
||||
self.statement.get_user_version = PRAGMA_FETCH_user_version
|
||||
self.statement.create_table = PLAYLIST_CREATE_TABLE
|
||||
self.statement.create_index = PLAYLIST_CREATE_INDEX
|
||||
|
||||
self.statement.upsert = PLAYLIST_UPSERT
|
||||
self.statement.delete = PLAYLIST_DELETE
|
||||
self.statement.delete_scope = PLAYLIST_DELETE_SCOPE
|
||||
self.statement.delete_scheduled = PLAYLIST_DELETE_SCHEDULED
|
||||
|
||||
self.statement.get_one = PLAYLIST_FETCH
|
||||
self.statement.get_all = PLAYLIST_FETCH_ALL
|
||||
self.statement.get_all_with_filter = PLAYLIST_FETCH_ALL_WITH_FILTER
|
||||
self.statement.get_all_converter = PLAYLIST_FETCH_ALL_CONVERTER
|
||||
|
||||
async def init(self) -> None:
|
||||
"""Initialize the Playlist table"""
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
executor.submit(self.database.cursor().execute, self.statement.pragma_temp_store)
|
||||
executor.submit(self.database.cursor().execute, self.statement.pragma_journal_mode)
|
||||
executor.submit(self.database.cursor().execute, self.statement.pragma_read_uncommitted)
|
||||
executor.submit(self.database.cursor().execute, self.statement.create_table)
|
||||
executor.submit(self.database.cursor().execute, self.statement.create_index)
|
||||
|
||||
@staticmethod
|
||||
def get_scope_type(scope: str) -> int:
|
||||
"""Convert a scope to a numerical identifier"""
|
||||
if scope == PlaylistScope.GLOBAL.value:
|
||||
table = 1
|
||||
elif scope == PlaylistScope.USER.value:
|
||||
table = 3
|
||||
else:
|
||||
table = 2
|
||||
return table
|
||||
|
||||
async def fetch(self, scope: str, playlist_id: int, scope_id: int) -> PlaylistFetchResult:
|
||||
"""Fetch a single playlist"""
|
||||
scope_type = self.get_scope_type(scope)
|
||||
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
for future in concurrent.futures.as_completed(
|
||||
[
|
||||
executor.submit(
|
||||
self.database.cursor().execute,
|
||||
self.statement.get_one,
|
||||
(
|
||||
{
|
||||
"playlist_id": playlist_id,
|
||||
"scope_id": scope_id,
|
||||
"scope_type": scope_type,
|
||||
}
|
||||
),
|
||||
)
|
||||
]
|
||||
):
|
||||
try:
|
||||
row_result = future.result()
|
||||
except Exception as exc:
|
||||
debug_exc_log(log, exc, "Failed to completed playlist fetch from database")
|
||||
row = row_result.fetchone()
|
||||
if row:
|
||||
row = PlaylistFetchResult(*row)
|
||||
return row
|
||||
|
||||
async def fetch_all(
|
||||
self, scope: str, scope_id: int, author_id=None
|
||||
) -> List[PlaylistFetchResult]:
|
||||
"""Fetch all playlists"""
|
||||
scope_type = self.get_scope_type(scope)
|
||||
output = []
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
if author_id is not None:
|
||||
for future in concurrent.futures.as_completed(
|
||||
[
|
||||
executor.submit(
|
||||
self.database.cursor().execute,
|
||||
self.statement.get_all_with_filter,
|
||||
(
|
||||
{
|
||||
"scope_type": scope_type,
|
||||
"scope_id": scope_id,
|
||||
"author_id": author_id,
|
||||
}
|
||||
),
|
||||
)
|
||||
]
|
||||
):
|
||||
try:
|
||||
row_result = future.result()
|
||||
except Exception as exc:
|
||||
debug_exc_log(log, exc, "Failed to completed playlist fetch from database")
|
||||
return []
|
||||
else:
|
||||
for future in concurrent.futures.as_completed(
|
||||
[
|
||||
executor.submit(
|
||||
self.database.cursor().execute,
|
||||
self.statement.get_all,
|
||||
({"scope_type": scope_type, "scope_id": scope_id}),
|
||||
)
|
||||
]
|
||||
):
|
||||
try:
|
||||
row_result = future.result()
|
||||
except Exception as exc:
|
||||
debug_exc_log(log, exc, "Failed to completed playlist fetch from database")
|
||||
return []
|
||||
async for row in AsyncIter(row_result):
|
||||
output.append(PlaylistFetchResult(*row))
|
||||
return output
|
||||
|
||||
async def fetch_all_converter(
|
||||
self, scope: str, playlist_name, playlist_id
|
||||
) -> List[PlaylistFetchResult]:
|
||||
"""Fetch all playlists with the specified filter"""
|
||||
scope_type = self.get_scope_type(scope)
|
||||
try:
|
||||
playlist_id = int(playlist_id)
|
||||
except Exception as exc:
|
||||
debug_exc_log(log, exc, "Failed converting playlist_id to int")
|
||||
playlist_id = -1
|
||||
|
||||
output = []
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
for future in concurrent.futures.as_completed(
|
||||
[
|
||||
executor.submit(
|
||||
self.database.cursor().execute,
|
||||
self.statement.get_all_converter,
|
||||
(
|
||||
{
|
||||
"scope_type": scope_type,
|
||||
"playlist_name": playlist_name,
|
||||
"playlist_id": playlist_id,
|
||||
}
|
||||
),
|
||||
)
|
||||
]
|
||||
):
|
||||
try:
|
||||
row_result = future.result()
|
||||
except Exception as exc:
|
||||
debug_exc_log(log, exc, "Failed to completed fetch from database")
|
||||
|
||||
async for row in AsyncIter(row_result):
|
||||
output.append(PlaylistFetchResult(*row))
|
||||
return output
|
||||
|
||||
async def delete(self, scope: str, playlist_id: int, scope_id: int):
|
||||
"""Deletes a single playlists"""
|
||||
scope_type = self.get_scope_type(scope)
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
executor.submit(
|
||||
self.database.cursor().execute,
|
||||
self.statement.delete,
|
||||
({"playlist_id": playlist_id, "scope_id": scope_id, "scope_type": scope_type}),
|
||||
)
|
||||
|
||||
async def delete_scheduled(self):
|
||||
"""Clean up database from all deleted playlists"""
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
executor.submit(self.database.cursor().execute, self.statement.delete_scheduled)
|
||||
|
||||
async def drop(self, scope: str):
|
||||
"""Delete all playlists in a scope"""
|
||||
scope_type = self.get_scope_type(scope)
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
executor.submit(
|
||||
self.database.cursor().execute,
|
||||
self.statement.delete_scope,
|
||||
({"scope_type": scope_type}),
|
||||
)
|
||||
|
||||
async def create_table(self):
|
||||
"""Create the playlist table"""
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
executor.submit(self.database.cursor().execute, PLAYLIST_CREATE_TABLE)
|
||||
|
||||
async def upsert(
|
||||
self,
|
||||
scope: str,
|
||||
playlist_id: int,
|
||||
playlist_name: str,
|
||||
scope_id: int,
|
||||
author_id: int,
|
||||
playlist_url: Optional[str],
|
||||
tracks: List[MutableMapping],
|
||||
):
|
||||
"""Insert or update a playlist into the database"""
|
||||
scope_type = self.get_scope_type(scope)
|
||||
with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor:
|
||||
executor.submit(
|
||||
self.database.cursor().execute,
|
||||
self.statement.upsert,
|
||||
{
|
||||
"scope_type": str(scope_type),
|
||||
"playlist_id": int(playlist_id),
|
||||
"playlist_name": str(playlist_name),
|
||||
"scope_id": int(scope_id),
|
||||
"author_id": int(author_id),
|
||||
"playlist_url": playlist_url,
|
||||
"tracks": json.dumps(tracks),
|
||||
},
|
||||
)
|
||||
189
redbot/cogs/audio/apis/spotify.py
Normal file
189
redbot/cogs/audio/apis/spotify.py
Normal file
@@ -0,0 +1,189 @@
|
||||
import base64
|
||||
import contextlib
|
||||
import logging
|
||||
import time
|
||||
from typing import List, Mapping, MutableMapping, Optional, TYPE_CHECKING, Tuple, Union
|
||||
|
||||
import aiohttp
|
||||
from redbot.core.i18n import Translator
|
||||
from redbot.core.utils import AsyncIter
|
||||
|
||||
from redbot.core import Config
|
||||
from redbot.core.bot import Red
|
||||
from redbot.core.commands import Cog, Context
|
||||
|
||||
from ..errors import SpotifyFetchError
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .. import Audio
|
||||
|
||||
_ = Translator("Audio", __file__)
|
||||
|
||||
log = logging.getLogger("red.cogs.Audio.api.Spotify")
|
||||
|
||||
|
||||
CATEGORY_ENDPOINT = "https://api.spotify.com/v1/browse/categories"
|
||||
TOKEN_ENDPOINT = "https://accounts.spotify.com/api/token"
|
||||
ALBUMS_ENDPOINT = "https://api.spotify.com/v1/albums"
|
||||
TRACKS_ENDPOINT = "https://api.spotify.com/v1/tracks"
|
||||
PLAYLISTS_ENDPOINT = "https://api.spotify.com/v1/playlists"
|
||||
|
||||
|
||||
class SpotifyWrapper:
|
||||
"""Wrapper for the Spotify API."""
|
||||
|
||||
def __init__(
|
||||
self, bot: Red, config: Config, session: aiohttp.ClientSession, cog: Union["Audio", Cog]
|
||||
):
|
||||
self.bot = bot
|
||||
self.config = config
|
||||
self.session = session
|
||||
self.spotify_token: Optional[MutableMapping] = None
|
||||
self.client_id: Optional[str] = None
|
||||
self.client_secret: Optional[str] = None
|
||||
self._token: Mapping[str, str] = {}
|
||||
self.cog = cog
|
||||
|
||||
@staticmethod
|
||||
def spotify_format_call(query_type: str, key: str) -> Tuple[str, MutableMapping]:
|
||||
"""Format the spotify endpoint"""
|
||||
params: MutableMapping = {}
|
||||
if query_type == "album":
|
||||
query = f"{ALBUMS_ENDPOINT}/{key}/tracks"
|
||||
elif query_type == "track":
|
||||
query = f"{TRACKS_ENDPOINT}/{key}"
|
||||
else:
|
||||
query = f"{PLAYLISTS_ENDPOINT}/{key}/tracks"
|
||||
return query, params
|
||||
|
||||
async def get_spotify_track_info(
|
||||
self, track_data: MutableMapping, ctx: Context
|
||||
) -> Tuple[str, ...]:
|
||||
"""Extract track info from spotify response"""
|
||||
prefer_lyrics = await self.cog.get_lyrics_status(ctx)
|
||||
track_name = track_data["name"]
|
||||
if prefer_lyrics:
|
||||
track_name = f"{track_name} - lyrics"
|
||||
artist_name = track_data["artists"][0]["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
|
||||
|
||||
@staticmethod
|
||||
async def is_access_token_valid(token: MutableMapping) -> bool:
|
||||
"""Check if current token is not too old"""
|
||||
return (token["expires_at"] - int(time.time())) < 60
|
||||
|
||||
@staticmethod
|
||||
def make_auth_header(
|
||||
client_id: Optional[str], client_secret: Optional[str]
|
||||
) -> MutableMapping[str, Union[str, int]]:
|
||||
"""Make Authorization header for spotify token"""
|
||||
if client_id is None:
|
||||
client_id = ""
|
||||
if client_secret is None:
|
||||
client_secret = ""
|
||||
auth_header = base64.b64encode(f"{client_id}:{client_secret}".encode("ascii"))
|
||||
return {"Authorization": f"Basic {auth_header.decode('ascii')}"}
|
||||
|
||||
async def get(
|
||||
self, url: str, headers: MutableMapping = None, params: MutableMapping = None
|
||||
) -> MutableMapping[str, str]:
|
||||
"""Make a GET request to the spotify API"""
|
||||
if params is None:
|
||||
params = {}
|
||||
async with self.session.request("GET", url, params=params, headers=headers) as r:
|
||||
data = await r.json()
|
||||
if r.status != 200:
|
||||
log.debug(f"Issue making GET request to {url}: [{r.status}] {data}")
|
||||
return data
|
||||
|
||||
def update_token(self, new_token: Mapping[str, str]):
|
||||
self._token = new_token
|
||||
|
||||
async def get_token(self) -> None:
|
||||
"""Get the stored spotify tokens"""
|
||||
if not self._token:
|
||||
self._token = await self.bot.get_shared_api_tokens("spotify")
|
||||
|
||||
self.client_id = self._token.get("client_id", "")
|
||||
self.client_secret = self._token.get("client_secret", "")
|
||||
|
||||
async def get_country_code(self, ctx: Context = None) -> str:
|
||||
return await self.config.guild(ctx.guild).country_code() if ctx else "US"
|
||||
|
||||
async def request_access_token(self) -> MutableMapping:
|
||||
"""Make a spotify call to get the auth token"""
|
||||
await self.get_token()
|
||||
payload = {"grant_type": "client_credentials"}
|
||||
headers = self.make_auth_header(self.client_id, self.client_secret)
|
||||
r = await self.post(TOKEN_ENDPOINT, payload=payload, headers=headers)
|
||||
return r
|
||||
|
||||
async def get_access_token(self) -> Optional[str]:
|
||||
"""Get the access_token"""
|
||||
if self.spotify_token and not await self.is_access_token_valid(self.spotify_token):
|
||||
return self.spotify_token["access_token"]
|
||||
token = await self.request_access_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()) + int(token["expires_in"])
|
||||
except KeyError:
|
||||
return None
|
||||
self.spotify_token = token
|
||||
log.debug(f"Created a new access token for Spotify: {token}")
|
||||
return self.spotify_token["access_token"]
|
||||
|
||||
async def post(
|
||||
self, url: str, payload: MutableMapping, headers: MutableMapping = None
|
||||
) -> MutableMapping:
|
||||
"""Make a POST call to spotify"""
|
||||
async with self.session.post(url, data=payload, headers=headers) as r:
|
||||
data = await r.json()
|
||||
if r.status != 200:
|
||||
log.debug(f"Issue making POST request to {url}: [{r.status}] {data}")
|
||||
return data
|
||||
|
||||
async def make_get_call(self, url: str, params: MutableMapping) -> MutableMapping:
|
||||
"""Make a Get call to spotify"""
|
||||
token = await self.get_access_token()
|
||||
return await self.get(url, params=params, headers={"Authorization": f"Bearer {token}"})
|
||||
|
||||
async def get_categories(self, ctx: Context = None) -> List[MutableMapping]:
|
||||
"""Get the spotify categories"""
|
||||
country_code = await self.get_country_code(ctx=ctx)
|
||||
params: MutableMapping = {"country": country_code} if country_code else {}
|
||||
result = await self.make_get_call(CATEGORY_ENDPOINT, 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 if c]
|
||||
|
||||
async def get_playlist_from_category(self, category: str, ctx: Context = None):
|
||||
"""Get spotify playlists for the specified category"""
|
||||
url = f"{CATEGORY_ENDPOINT}/{category}/playlists"
|
||||
country_code = await self.get_country_code(ctx=ctx)
|
||||
params: MutableMapping = {"country": country_code} if country_code else {}
|
||||
result = await self.make_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"),
|
||||
}
|
||||
async for c in AsyncIter(playlists)
|
||||
if c
|
||||
]
|
||||
65
redbot/cogs/audio/apis/youtube.py
Normal file
65
redbot/cogs/audio/apis/youtube.py
Normal file
@@ -0,0 +1,65 @@
|
||||
import logging
|
||||
from typing import Mapping, Optional, TYPE_CHECKING, Union
|
||||
|
||||
import aiohttp
|
||||
|
||||
from redbot.core import Config
|
||||
from redbot.core.bot import Red
|
||||
from redbot.core.commands import Cog
|
||||
|
||||
from ..errors import YouTubeApiError
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .. import Audio
|
||||
|
||||
log = logging.getLogger("red.cogs.Audio.api.YouTube")
|
||||
|
||||
SEARCH_ENDPOINT = "https://www.googleapis.com/youtube/v3/search"
|
||||
|
||||
|
||||
class YouTubeWrapper:
|
||||
"""Wrapper for the YouTube Data API."""
|
||||
|
||||
def __init__(
|
||||
self, bot: Red, config: Config, session: aiohttp.ClientSession, cog: Union["Audio", Cog]
|
||||
):
|
||||
self.bot = bot
|
||||
self.config = config
|
||||
self.session = session
|
||||
self.api_key: Optional[str] = None
|
||||
self._token: Mapping[str, str] = {}
|
||||
self.cog = cog
|
||||
|
||||
def update_token(self, new_token: Mapping[str, str]):
|
||||
self._token = new_token
|
||||
|
||||
async def _get_api_key(self,) -> str:
|
||||
"""Get the stored youtube token"""
|
||||
if not self._token:
|
||||
self._token = await self.bot.get_shared_api_tokens("youtube")
|
||||
self.api_key = self._token.get("api_key", "")
|
||||
return self.api_key if self.api_key is not None else ""
|
||||
|
||||
async def get_call(self, query: str) -> Optional[str]:
|
||||
"""Make a Get call to youtube data api"""
|
||||
params = {
|
||||
"q": query,
|
||||
"part": "id",
|
||||
"key": await self._get_api_key(),
|
||||
"maxResults": 1,
|
||||
"type": "video",
|
||||
}
|
||||
async with self.session.request("GET", SEARCH_ENDPOINT, 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']}"
|
||||
|
||||
return None
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,36 +1,38 @@
|
||||
import asyncio
|
||||
import contextlib
|
||||
import glob
|
||||
import logging
|
||||
import ntpath
|
||||
import os
|
||||
import posixpath
|
||||
import re
|
||||
from pathlib import Path, PosixPath, WindowsPath
|
||||
from typing import List, Optional, Union, MutableMapping, Iterator, AsyncIterator
|
||||
from typing import (
|
||||
AsyncIterator,
|
||||
Final,
|
||||
Iterator,
|
||||
MutableMapping,
|
||||
Optional,
|
||||
Tuple,
|
||||
Union,
|
||||
Callable,
|
||||
Pattern,
|
||||
)
|
||||
from urllib.parse import urlparse
|
||||
|
||||
import lavalink
|
||||
from redbot.core.utils import AsyncIter
|
||||
|
||||
from redbot.core import Config
|
||||
from redbot.core.bot import Red
|
||||
from redbot.core.i18n import Translator
|
||||
_RE_REMOVE_START: Final[Pattern] = re.compile(r"^(sc|list) ")
|
||||
_RE_YOUTUBE_TIMESTAMP: Final[Pattern] = re.compile(r"[&|?]t=(\d+)s?")
|
||||
_RE_YOUTUBE_INDEX: Final[Pattern] = re.compile(r"&index=(\d+)")
|
||||
_RE_SPOTIFY_URL: Final[Pattern] = re.compile(r"(http[s]?://)?(open.spotify.com)/")
|
||||
_RE_SPOTIFY_TIMESTAMP: Final[Pattern] = re.compile(r"#(\d+):(\d+)")
|
||||
_RE_SOUNDCLOUD_TIMESTAMP: Final[Pattern] = re.compile(r"#t=(\d+):(\d+)s?")
|
||||
_RE_TWITCH_TIMESTAMP: Final[Pattern] = re.compile(r"\?t=(\d+)h(\d+)m(\d+)s")
|
||||
_PATH_SEPS: Final[Tuple[str, str]] = (posixpath.sep, ntpath.sep)
|
||||
|
||||
_config: Optional[Config] = None
|
||||
_bot: Optional[Red] = None
|
||||
_localtrack_folder: Optional[str] = None
|
||||
_ = Translator("Audio", __file__)
|
||||
|
||||
_RE_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")
|
||||
_PATH_SEPS = [posixpath.sep, ntpath.sep]
|
||||
|
||||
_FULLY_SUPPORTED_MUSIC_EXT = (".mp3", ".flac", ".ogg")
|
||||
_PARTIALLY_SUPPORTED_MUSIC_EXT = (
|
||||
_FULLY_SUPPORTED_MUSIC_EXT: Final[Tuple[str, ...]] = (".mp3", ".flac", ".ogg")
|
||||
_PARTIALLY_SUPPORTED_MUSIC_EXT: Tuple[str, ...] = (
|
||||
".m3u",
|
||||
".m4a",
|
||||
".aac",
|
||||
@@ -49,7 +51,7 @@ _PARTIALLY_SUPPORTED_MUSIC_EXT = (
|
||||
# ".voc",
|
||||
# ".dsf",
|
||||
)
|
||||
_PARTIALLY_SUPPORTED_VIDEO_EXT = (
|
||||
_PARTIALLY_SUPPORTED_VIDEO_EXT: Tuple[str, ...] = (
|
||||
".mp4",
|
||||
".mov",
|
||||
".flv",
|
||||
@@ -72,25 +74,20 @@ _PARTIALLY_SUPPORTED_VIDEO_EXT = (
|
||||
_PARTIALLY_SUPPORTED_MUSIC_EXT += _PARTIALLY_SUPPORTED_VIDEO_EXT
|
||||
|
||||
|
||||
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
|
||||
log = logging.getLogger("red.cogs.Audio.audio_dataclasses")
|
||||
|
||||
|
||||
class LocalPath:
|
||||
"""Local tracks class.
|
||||
|
||||
Used to handle system dir trees in a cross system manner. The only use of this class is for
|
||||
`localtracks`.
|
||||
Used to handle system dir trees in a cross system manner.
|
||||
The only use of this class is for `localtracks`.
|
||||
"""
|
||||
|
||||
_all_music_ext = _FULLY_SUPPORTED_MUSIC_EXT + _PARTIALLY_SUPPORTED_MUSIC_EXT
|
||||
|
||||
def __init__(self, path, **kwargs):
|
||||
def __init__(self, path, localtrack_folder, **kwargs):
|
||||
self._localtrack_folder = localtrack_folder
|
||||
self._path = path
|
||||
if isinstance(path, (Path, WindowsPath, PosixPath, LocalPath)):
|
||||
path = str(path.absolute())
|
||||
@@ -98,9 +95,8 @@ class LocalPath:
|
||||
path = str(path)
|
||||
|
||||
self.cwd = Path.cwd()
|
||||
_lt_folder = Path(_localtrack_folder) if _localtrack_folder else self.cwd
|
||||
_lt_folder = Path(self._localtrack_folder) if self._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"):
|
||||
@@ -165,46 +161,44 @@ class LocalPath:
|
||||
return self._path
|
||||
|
||||
@classmethod
|
||||
def joinpath(cls, *args):
|
||||
modified = cls(None)
|
||||
def joinpath(cls, localpath, *args):
|
||||
modified = cls(None, localpath)
|
||||
modified.path = modified.path.joinpath(*args)
|
||||
return modified
|
||||
|
||||
def rglob(self, pattern, folder=False) -> Iterator[str]:
|
||||
if folder:
|
||||
return glob.iglob(f"{self.path}{os.sep}**{os.sep}", recursive=True)
|
||||
return glob.iglob(f"{glob.escape(self.path)}{os.sep}**{os.sep}", recursive=True)
|
||||
else:
|
||||
return glob.iglob(f"{self.path}{os.sep}**{os.sep}{pattern}", recursive=True)
|
||||
return glob.iglob(
|
||||
f"{glob.escape(self.path)}{os.sep}**{os.sep}*{pattern}", recursive=True
|
||||
)
|
||||
|
||||
def glob(self, pattern, folder=False) -> Iterator[str]:
|
||||
if folder:
|
||||
return glob.iglob(f"{self.path}{os.sep}*{os.sep}", recursive=False)
|
||||
return glob.iglob(f"{glob.escape(self.path)}{os.sep}*{os.sep}", recursive=False)
|
||||
else:
|
||||
return glob.iglob(f"{self.path}{os.sep}*{pattern}", recursive=False)
|
||||
return glob.iglob(f"{glob.escape(self.path)}{os.sep}*{pattern}", recursive=False)
|
||||
|
||||
async def _multiglob(self, pattern: str, folder: bool, method: Callable):
|
||||
async for rp in AsyncIter(method(pattern)):
|
||||
rp_local = LocalPath(rp, self._localtrack_folder)
|
||||
if (
|
||||
(folder and rp_local.is_dir() and rp_local.exists())
|
||||
or (not folder and rp_local.suffix in self._all_music_ext and rp_local.is_file())
|
||||
and rp_local.exists()
|
||||
):
|
||||
yield rp_local
|
||||
|
||||
async def multiglob(self, *patterns, folder=False) -> AsyncIterator["LocalPath"]:
|
||||
for p in patterns:
|
||||
for rp in self.glob(p):
|
||||
rp = LocalPath(rp)
|
||||
if folder and rp.is_dir() and rp.exists():
|
||||
yield rp
|
||||
await asyncio.sleep(0)
|
||||
else:
|
||||
if rp.suffix in self._all_music_ext and rp.is_file() and rp.exists():
|
||||
yield rp
|
||||
await asyncio.sleep(0)
|
||||
async for p in AsyncIter(patterns):
|
||||
async for path in self._multiglob(p, folder, self.glob):
|
||||
yield path
|
||||
|
||||
async def multirglob(self, *patterns, folder=False) -> AsyncIterator["LocalPath"]:
|
||||
for p in patterns:
|
||||
for rp in self.rglob(p):
|
||||
rp = LocalPath(rp)
|
||||
if folder and rp.is_dir() and rp.exists():
|
||||
yield rp
|
||||
await asyncio.sleep(0)
|
||||
else:
|
||||
if rp.suffix in self._all_music_ext and rp.is_file() and rp.exists():
|
||||
yield rp
|
||||
await asyncio.sleep(0)
|
||||
async for p in AsyncIter(patterns):
|
||||
async for path in self._multiglob(p, folder, self.rglob):
|
||||
yield path
|
||||
|
||||
def __str__(self):
|
||||
return self.to_string()
|
||||
@@ -238,7 +232,7 @@ class LocalPath:
|
||||
if track.path.parent != self.localtrack_folder and track.path.relative_to(
|
||||
self.path
|
||||
):
|
||||
tracks.append(Query.process_input(track))
|
||||
tracks.append(Query.process_input(track, self._localtrack_folder))
|
||||
return sorted(tracks, key=lambda x: x.to_string_user().lower())
|
||||
|
||||
async def subfolders_in_tree(self):
|
||||
@@ -247,6 +241,7 @@ class LocalPath:
|
||||
with contextlib.suppress(ValueError):
|
||||
if (
|
||||
f not in return_folders
|
||||
and f.is_dir()
|
||||
and f.path != self.localtrack_folder
|
||||
and f.path.relative_to(self.path)
|
||||
):
|
||||
@@ -260,7 +255,7 @@ class LocalPath:
|
||||
if track.path.parent != self.localtrack_folder and track.path.relative_to(
|
||||
self.path
|
||||
):
|
||||
tracks.append(Query.process_input(track))
|
||||
tracks.append(Query.process_input(track, self._localtrack_folder))
|
||||
return sorted(tracks, key=lambda x: x.to_string_user().lower())
|
||||
|
||||
async def subfolders(self):
|
||||
@@ -321,18 +316,14 @@ class LocalPath:
|
||||
class Query:
|
||||
"""Query data class.
|
||||
|
||||
Use: Query.process_input(query) to generate the Query object.
|
||||
Use: Query.process_input(query, localtrack_folder) to generate the Query object.
|
||||
"""
|
||||
|
||||
def __init__(self, query: Union[LocalPath, str], **kwargs):
|
||||
def __init__(self, query: Union[LocalPath, str], local_folder_current_path: Path, **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._local_folder_current_path = local_folder_current_path
|
||||
_localtrack: LocalPath = LocalPath(query, local_folder_current_path)
|
||||
|
||||
self.valid: bool = query != "InvalidQueryPlaceHolderName"
|
||||
self.is_local: bool = kwargs.get("local", False)
|
||||
@@ -364,6 +355,15 @@ class Query:
|
||||
self.is_youtube = False
|
||||
self.is_soundcloud = True
|
||||
|
||||
if (_localtrack.is_file() or _localtrack.is_dir()) and _localtrack.exists():
|
||||
self.local_track_path: Optional[LocalPath] = _localtrack
|
||||
self.track: str = str(_localtrack.absolute())
|
||||
self.is_local: bool = True
|
||||
self.uri = self.track
|
||||
else:
|
||||
self.local_track_path: Optional[LocalPath] = None
|
||||
self.track: str = str(query)
|
||||
|
||||
self.lavalink_query: str = self._get_query()
|
||||
|
||||
if self.is_playlist or self.is_album:
|
||||
@@ -397,14 +397,21 @@ class Query:
|
||||
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.
|
||||
def process_input(
|
||||
cls,
|
||||
query: Union[LocalPath, lavalink.Track, "Query", str],
|
||||
_local_folder_current_path: Path,
|
||||
**kwargs,
|
||||
) -> "Query":
|
||||
"""
|
||||
Process the input query into its type
|
||||
|
||||
Parameters
|
||||
----------
|
||||
query : Union[Query, LocalPath, lavalink.Track, str]
|
||||
The query string or LocalPath object.
|
||||
_local_folder_current_path: Path
|
||||
The Current Local Track folder
|
||||
Returns
|
||||
-------
|
||||
Query
|
||||
@@ -430,12 +437,13 @@ class Query:
|
||||
query = query.uri
|
||||
|
||||
possible_values.update(dict(**kwargs))
|
||||
possible_values.update(cls._parse(query, **kwargs))
|
||||
return cls(query, **possible_values)
|
||||
possible_values.update(cls._parse(query, _local_folder_current_path, **kwargs))
|
||||
return cls(query, _local_folder_current_path, **possible_values)
|
||||
|
||||
@staticmethod
|
||||
def _parse(track, **kwargs) -> MutableMapping:
|
||||
returning = {}
|
||||
def _parse(track, _local_folder_current_path: Path, **kwargs) -> MutableMapping:
|
||||
"""Parse a track into all the relevant metadata"""
|
||||
returning: MutableMapping = {}
|
||||
if (
|
||||
type(track) == type(LocalPath)
|
||||
and (track.is_file() or track.is_dir())
|
||||
@@ -475,7 +483,7 @@ class Query:
|
||||
track = _RE_REMOVE_START.sub("", track, 1)
|
||||
returning["queryforced"] = track
|
||||
|
||||
_localtrack = LocalPath(track)
|
||||
_localtrack = LocalPath(track, _local_folder_current_path)
|
||||
if _localtrack.exists():
|
||||
if _localtrack.is_file():
|
||||
returning["local"] = True
|
||||
@@ -498,7 +506,7 @@ class Query:
|
||||
if url_domain in ["youtube.com", "youtu.be"]:
|
||||
returning["youtube"] = True
|
||||
_has_index = "&index=" in track
|
||||
if "&t=" in track:
|
||||
if "&t=" in track or "?t=" in track:
|
||||
match = re.search(_RE_YOUTUBE_TIMESTAMP, track)
|
||||
if match:
|
||||
returning["start_time"] = int(match.group(1))
|
||||
@@ -599,7 +607,7 @@ class Query:
|
||||
|
||||
def _get_query(self):
|
||||
if self.is_local:
|
||||
return self.track.to_string()
|
||||
return self.local_track_path.to_string()
|
||||
elif self.is_spotify:
|
||||
return self.spotify_uri
|
||||
elif self.is_search and self.is_youtube:
|
||||
@@ -610,13 +618,13 @@ class Query:
|
||||
|
||||
def to_string_user(self):
|
||||
if self.is_local:
|
||||
return str(self.track.to_string_user())
|
||||
return str(self.local_track_path.to_string_user())
|
||||
return str(self._raw)
|
||||
|
||||
@property
|
||||
def suffix(self):
|
||||
if self.is_local:
|
||||
return self.track.suffix
|
||||
return self.local_track_path.suffix
|
||||
return None
|
||||
|
||||
def __eq__(self, other):
|
||||
|
||||
17
redbot/cogs/audio/audio_logging.py
Normal file
17
redbot/cogs/audio/audio_logging.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import logging
|
||||
import sys
|
||||
from typing import Final
|
||||
|
||||
IS_DEBUG: Final[bool] = "--debug" in sys.argv
|
||||
|
||||
|
||||
def is_debug() -> bool:
|
||||
return IS_DEBUG
|
||||
|
||||
|
||||
def debug_exc_log(lg: logging.Logger, exc: Exception, msg: str = None) -> None:
|
||||
"""Logs an exception if logging is set to DEBUG level"""
|
||||
if lg.getEffectiveLevel() <= logging.DEBUG:
|
||||
if msg is None:
|
||||
msg = f"{exc}"
|
||||
lg.exception(msg, exc_info=exc)
|
||||
@@ -1,31 +0,0 @@
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from redbot.core import Config, commands
|
||||
|
||||
if TYPE_CHECKING:
|
||||
_config: Config
|
||||
else:
|
||||
_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)
|
||||
@@ -1,18 +0,0 @@
|
||||
from redbot.core import Config
|
||||
from redbot.core.bot import Red
|
||||
|
||||
from .apis import _pass_config_to_apis
|
||||
from .audio_dataclasses import _pass_config_to_dataclasses
|
||||
from .converters import _pass_config_to_converters
|
||||
from .databases import _pass_config_to_databases
|
||||
from .playlists import _pass_config_to_playlist
|
||||
from .utils import _pass_config_to_utils
|
||||
|
||||
|
||||
def pass_config_to_dependencies(config: Config, bot: Red, localtracks_folder: str):
|
||||
_pass_config_to_databases(config, bot)
|
||||
_pass_config_to_utils(config, bot)
|
||||
_pass_config_to_dataclasses(config, bot, localtracks_folder)
|
||||
_pass_config_to_apis(config, bot)
|
||||
_pass_config_to_playlist(config, bot)
|
||||
_pass_config_to_converters(config, bot)
|
||||
@@ -1,16 +1,18 @@
|
||||
import argparse
|
||||
import functools
|
||||
import re
|
||||
from typing import Optional, Tuple, Union, MutableMapping, TYPE_CHECKING
|
||||
from typing import Final, MutableMapping, Optional, Tuple, Union, Pattern
|
||||
|
||||
import discord
|
||||
from redbot.core.utils import AsyncIter
|
||||
|
||||
from redbot.core import Config, commands
|
||||
from redbot.core import commands
|
||||
from redbot.core.bot import Red
|
||||
from redbot.core.i18n import Translator
|
||||
|
||||
from .apis.api_utils import standardize_scope
|
||||
from .apis.playlist_interface import get_all_playlist_converter
|
||||
from .errors import NoMatchesFound, TooManyMatches
|
||||
from .playlists import get_all_playlist_converter, standardize_scope
|
||||
from .utils import PlaylistScope
|
||||
|
||||
_ = Translator("Audio", __file__)
|
||||
@@ -25,50 +27,47 @@ __all__ = [
|
||||
"get_playlist_converter",
|
||||
]
|
||||
|
||||
if TYPE_CHECKING:
|
||||
_bot: Red
|
||||
_config: Config
|
||||
else:
|
||||
_bot = None
|
||||
_config = None
|
||||
T_ = _
|
||||
_ = lambda s: s
|
||||
|
||||
_SCOPE_HELP = """
|
||||
_SCOPE_HELP: Final[str] = _(
|
||||
"""
|
||||
Scope must be a valid version of one of the following:
|
||||
Global
|
||||
Guild
|
||||
User
|
||||
"""
|
||||
_USER_HELP = """
|
||||
)
|
||||
_USER_HELP: Final[str] = _(
|
||||
"""
|
||||
Author must be a valid version of one of the following:
|
||||
User ID
|
||||
User Mention
|
||||
User Name#123
|
||||
"""
|
||||
_GUILD_HELP = """
|
||||
)
|
||||
_GUILD_HELP: Final[str] = _(
|
||||
"""
|
||||
Guild must be a valid version of one of the following:
|
||||
Guild ID
|
||||
Exact guild name
|
||||
"""
|
||||
)
|
||||
|
||||
MENTION_RE = re.compile(r"^<?(?:(?:@[!&]?)?|#)(\d{15,21})>?$")
|
||||
_ = T_
|
||||
|
||||
|
||||
def _pass_config_to_converters(config: Config, bot: Red):
|
||||
global _config, _bot
|
||||
if _config is None:
|
||||
_config = config
|
||||
if _bot is None:
|
||||
_bot = bot
|
||||
MENTION_RE: Final[Pattern] = re.compile(r"^<?(?:(?:@[!&]?)?|#)(\d{15,21})>?$")
|
||||
|
||||
|
||||
def _match_id(arg: str) -> Optional[int]:
|
||||
m = MENTION_RE.match(arg)
|
||||
if m:
|
||||
return int(m.group(1))
|
||||
return None
|
||||
|
||||
|
||||
async def global_unique_guild_finder(ctx: commands.Context, arg: str) -> discord.Guild:
|
||||
bot: commands.Bot = ctx.bot
|
||||
bot: Red = ctx.bot
|
||||
_id = _match_id(arg)
|
||||
|
||||
if _id is not None:
|
||||
@@ -77,7 +76,7 @@ async def global_unique_guild_finder(ctx: commands.Context, arg: str) -> discord
|
||||
return guild
|
||||
|
||||
maybe_matches = []
|
||||
for obj in bot.guilds:
|
||||
async for obj in AsyncIter(bot.guilds):
|
||||
if obj.name == arg or str(obj) == arg:
|
||||
maybe_matches.append(obj)
|
||||
|
||||
@@ -102,7 +101,7 @@ async def global_unique_guild_finder(ctx: commands.Context, arg: str) -> discord
|
||||
async def global_unique_user_finder(
|
||||
ctx: commands.Context, arg: str, guild: discord.guild = None
|
||||
) -> discord.abc.User:
|
||||
bot: commands.Bot = ctx.bot
|
||||
bot: Red = ctx.bot
|
||||
guild = guild or ctx.guild
|
||||
_id = _match_id(arg)
|
||||
|
||||
@@ -111,17 +110,15 @@ async def global_unique_user_finder(
|
||||
if user is not None:
|
||||
return user
|
||||
|
||||
objects = bot.users
|
||||
|
||||
maybe_matches = []
|
||||
for obj in objects:
|
||||
if obj.name == arg or str(obj) == arg:
|
||||
maybe_matches.append(obj)
|
||||
async for user in AsyncIter(bot.users).filter(lambda u: u.name == arg or f"{u}" == arg):
|
||||
maybe_matches.append(user)
|
||||
|
||||
if guild is not None:
|
||||
for member in guild.members:
|
||||
if member.nick == arg and not any(obj.id == member.id for obj in maybe_matches):
|
||||
maybe_matches.append(member)
|
||||
async for member in AsyncIter(guild.members).filter(
|
||||
lambda m: m.nick == arg and not any(obj.id == m.id for obj in maybe_matches)
|
||||
):
|
||||
maybe_matches.append(member)
|
||||
|
||||
if not maybe_matches:
|
||||
raise NoMatchesFound(
|
||||
@@ -143,15 +140,36 @@ async def global_unique_user_finder(
|
||||
|
||||
class PlaylistConverter(commands.Converter):
|
||||
async def convert(self, ctx: commands.Context, arg: str) -> MutableMapping:
|
||||
global_matches = await get_all_playlist_converter(
|
||||
PlaylistScope.GLOBAL.value, _bot, arg, guild=ctx.guild, author=ctx.author
|
||||
)
|
||||
guild_matches = await get_all_playlist_converter(
|
||||
PlaylistScope.GUILD.value, _bot, arg, guild=ctx.guild, author=ctx.author
|
||||
)
|
||||
user_matches = await get_all_playlist_converter(
|
||||
PlaylistScope.USER.value, _bot, arg, guild=ctx.guild, author=ctx.author
|
||||
)
|
||||
"""Get playlist for all scopes that match the argument user provided"""
|
||||
cog = ctx.cog
|
||||
user_matches = []
|
||||
guild_matches = []
|
||||
global_matches = []
|
||||
if cog:
|
||||
global_matches = await get_all_playlist_converter(
|
||||
PlaylistScope.GLOBAL.value,
|
||||
ctx.bot,
|
||||
cog.playlist_api,
|
||||
arg,
|
||||
guild=ctx.guild,
|
||||
author=ctx.author,
|
||||
)
|
||||
guild_matches = await get_all_playlist_converter(
|
||||
PlaylistScope.GUILD.value,
|
||||
ctx.bot,
|
||||
cog.playlist_api,
|
||||
arg,
|
||||
guild=ctx.guild,
|
||||
author=ctx.author,
|
||||
)
|
||||
user_matches = await get_all_playlist_converter(
|
||||
PlaylistScope.USER.value,
|
||||
ctx.bot,
|
||||
cog.playlist_api,
|
||||
arg,
|
||||
guild=ctx.guild,
|
||||
author=ctx.author,
|
||||
)
|
||||
if not user_matches and not guild_matches and not global_matches:
|
||||
raise commands.BadArgument(_("Could not match '{}' to a playlist.").format(arg))
|
||||
return {
|
||||
@@ -184,7 +202,7 @@ class ScopeParser(commands.Converter):
|
||||
if arguments:
|
||||
argument = " -- ".join(arguments)
|
||||
else:
|
||||
command = None
|
||||
command = ""
|
||||
|
||||
parser = NoExitParser(description="Playlist Scope Parsing.", add_help=False)
|
||||
parser.add_argument("--scope", nargs="*", dest="scope", default=[])
|
||||
@@ -215,10 +233,10 @@ class ScopeParser(commands.Converter):
|
||||
"BOT",
|
||||
]
|
||||
if scope not in valid_scopes:
|
||||
raise commands.ArgParserFailure("--scope", scope_raw, custom_help=_SCOPE_HELP)
|
||||
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)
|
||||
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)
|
||||
@@ -234,13 +252,13 @@ class ScopeParser(commands.Converter):
|
||||
server_error = f"{err}\n"
|
||||
if target_guild is None:
|
||||
raise commands.ArgParserFailure(
|
||||
"--guild", guild_raw, custom_help=f"{server_error}{_GUILD_HELP}"
|
||||
"--guild", guild_raw, custom_help=f"{server_error}{_(_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`")
|
||||
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)
|
||||
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:
|
||||
@@ -257,12 +275,12 @@ class ScopeParser(commands.Converter):
|
||||
|
||||
if target_user is None:
|
||||
raise commands.ArgParserFailure(
|
||||
"--author", user_raw, custom_help=f"{user_error}{_USER_HELP}"
|
||||
"--author", user_raw, custom_help=f"{user_error}{_(_USER_HELP)}"
|
||||
)
|
||||
elif any(x in argument for x in ["--author", "--user", "--member"]):
|
||||
raise commands.ArgParserFailure("--scope", "Nothing", custom_help=_USER_HELP)
|
||||
raise commands.ArgParserFailure("--scope", _("Nothing"), custom_help=_(_USER_HELP))
|
||||
|
||||
target_scope: str = target_scope or None
|
||||
target_scope: Optional[str] = target_scope or None
|
||||
target_user: Union[discord.Member, discord.User] = target_user or ctx.author
|
||||
target_guild: discord.Guild = target_guild or ctx.guild
|
||||
|
||||
@@ -299,7 +317,7 @@ class ComplexScopeParser(commands.Converter):
|
||||
if arguments:
|
||||
argument = " -- ".join(arguments)
|
||||
else:
|
||||
command = None
|
||||
command = ""
|
||||
|
||||
parser = NoExitParser(description="Playlist Scope Parsing.", add_help=False)
|
||||
|
||||
@@ -345,7 +363,7 @@ class ComplexScopeParser(commands.Converter):
|
||||
)
|
||||
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)
|
||||
raise commands.ArgParserFailure("--to-scope", _("Nothing"), custom_help=_(_SCOPE_HELP))
|
||||
|
||||
if vals["from_scope"]:
|
||||
from_scope_raw = " ".join(vals["from_scope"]).strip()
|
||||
@@ -357,7 +375,7 @@ class ComplexScopeParser(commands.Converter):
|
||||
)
|
||||
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)
|
||||
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:
|
||||
@@ -372,20 +390,24 @@ class ComplexScopeParser(commands.Converter):
|
||||
target_server_error = f"{err}\n"
|
||||
if target_guild is None:
|
||||
raise commands.ArgParserFailure(
|
||||
"--to-guild", to_guild_raw, custom_help=f"{target_server_error}{_GUILD_HELP}"
|
||||
"--to-guild",
|
||||
to_guild_raw,
|
||||
custom_help=f"{target_server_error}{_(_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`")
|
||||
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)
|
||||
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_server_error = ""
|
||||
source_guild = None
|
||||
from_guild_raw = " ".join(to_guild).strip()
|
||||
from_guild_raw = " ".join(from_guild).strip()
|
||||
try:
|
||||
source_guild = await global_unique_guild_finder(ctx, from_guild_raw)
|
||||
except TooManyMatches as err:
|
||||
@@ -396,14 +418,16 @@ class ComplexScopeParser(commands.Converter):
|
||||
raise commands.ArgParserFailure(
|
||||
"--from-guild",
|
||||
from_guild_raw,
|
||||
custom_help=f"{source_server_error}{_GUILD_HELP}",
|
||||
custom_help=f"{source_server_error}{_(_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`")
|
||||
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)
|
||||
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)
|
||||
@@ -421,10 +445,10 @@ class ComplexScopeParser(commands.Converter):
|
||||
target_user_error = f"{err}\n"
|
||||
if target_user is None:
|
||||
raise commands.ArgParserFailure(
|
||||
"--to-author", to_user_raw, custom_help=f"{target_user_error}{_USER_HELP}"
|
||||
"--to-author", to_user_raw, custom_help=f"{target_user_error}{_(_USER_HELP)}"
|
||||
)
|
||||
elif any(x in argument for x in ["--to-author", "--to-user", "--to-member"]):
|
||||
raise commands.ArgParserFailure("--to-user", "Nothing", custom_help=_USER_HELP)
|
||||
raise commands.ArgParserFailure("--to-user", _("Nothing"), custom_help=_(_USER_HELP))
|
||||
|
||||
from_author = (
|
||||
vals.get("from_author", None)
|
||||
@@ -434,7 +458,7 @@ class ComplexScopeParser(commands.Converter):
|
||||
if from_author:
|
||||
source_user_error = ""
|
||||
source_user = None
|
||||
from_user_raw = " ".join(to_author).strip()
|
||||
from_user_raw = " ".join(from_author).strip()
|
||||
try:
|
||||
source_user = await global_unique_user_finder(
|
||||
ctx, from_user_raw, guild=target_guild
|
||||
@@ -446,18 +470,20 @@ class ComplexScopeParser(commands.Converter):
|
||||
source_user_error = f"{err}\n"
|
||||
if source_user is None:
|
||||
raise commands.ArgParserFailure(
|
||||
"--from-author", from_user_raw, custom_help=f"{source_user_error}{_USER_HELP}"
|
||||
"--from-author",
|
||||
from_user_raw,
|
||||
custom_help=f"{source_user_error}{_(_USER_HELP)}",
|
||||
)
|
||||
elif any(x in argument for x in ["--from-author", "--from-user", "--from-member"]):
|
||||
raise commands.ArgParserFailure("--from-user", "Nothing", custom_help=_USER_HELP)
|
||||
raise commands.ArgParserFailure("--from-user", _("Nothing"), custom_help=_(_USER_HELP))
|
||||
|
||||
target_scope: str = target_scope or PlaylistScope.GUILD.value
|
||||
target_user: Union[discord.Member, discord.User] = target_user or ctx.author
|
||||
target_guild: discord.Guild = target_guild or ctx.guild
|
||||
target_scope = target_scope or PlaylistScope.GUILD.value
|
||||
target_user = target_user or ctx.author
|
||||
target_guild = target_guild or ctx.guild
|
||||
|
||||
source_scope: str = source_scope or PlaylistScope.GUILD.value
|
||||
source_user: Union[discord.Member, discord.User] = source_user or ctx.author
|
||||
source_guild: discord.Guild = source_guild or ctx.guild
|
||||
source_scope = source_scope or PlaylistScope.GUILD.value
|
||||
source_user = source_user or ctx.author
|
||||
source_guild = source_guild or ctx.guild
|
||||
|
||||
return (
|
||||
source_scope,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user