[i18n] Use redgettext over pygettext (#2023)

* [i18n] Use redgettext over pygettext

* Clear out autogenerated `messages.pot` files

* Remove redundant `regen_messages.py` files

* Refactor `generate_strings.py` to use redgettext

* Install redgettext in Travis Crowdin job

* Clean up some problematic usages of gettext function

* Reformat

* Replace generate_strings.py with Makefile argument

* Update to redgettext 2.1, use exclusion pattern

Signed-off-by: Toby Harradine <tobyharradine@gmail.com>
This commit is contained in:
Toby Harradine 2018-08-26 23:35:42 +10:00 committed by GitHub
parent dbed24aaca
commit 1b196bf0fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 21 additions and 2000 deletions

1
.gitignore vendored
View File

@ -1,6 +1,7 @@
*.json *.json
*.exe *.exe
*.dll *.dll
*.pot
.data .data
!/tests/cogs/dataconverter/data/**/*.json !/tests/cogs/dataconverter/data/**/*.json

View File

@ -55,9 +55,10 @@ jobs:
- echo "deb https://artifacts.crowdin.com/repo/deb/ /" | sudo tee -a /etc/apt/sources.list - echo "deb https://artifacts.crowdin.com/repo/deb/ /" | sudo tee -a /etc/apt/sources.list
- sudo apt-get update -qq - sudo apt-get update -qq
- sudo apt-get install -y crowdin - sudo apt-get install -y crowdin
- pip install redgettext==2.1
deploy: deploy:
- provider: script - provider: script
script: python3 ./generate_strings.py script: make gettext
skip_cleanup: true skip_cleanup: true
on: on:
repo: Cog-Creators/Red-DiscordBot repo: Cog-Creators/Red-DiscordBot

View File

@ -2,3 +2,6 @@ reformat:
black -l 99 `git ls-files "*.py"` black -l 99 `git ls-files "*.py"`
stylecheck: stylecheck:
black --check -l 99 `git ls-files "*.py"` black --check -l 99 `git ls-files "*.py"`
gettext:
redgettext --command-docstrings --verbose --recursive redbot --exclude-files "redbot/pytest/**/*"
crowdin upload

View File

@ -1,37 +0,0 @@
#!/usr/bin/env python3
import subprocess
import os
import sys
def main():
interpreter = sys.executable
print(interpreter)
root_dir = os.getcwd()
cogs = [i for i in os.listdir("redbot/cogs") if os.path.isdir(os.path.join("redbot/cogs", i))]
for d in cogs:
if "locales" in os.listdir(os.path.join("redbot/cogs", d)):
os.chdir(os.path.join("redbot/cogs", d, "locales"))
if "regen_messages.py" not in os.listdir(os.getcwd()):
print(
f"Directory 'locales' exists for {d} but no 'regen_messages.py' is available!"
)
return 1
else:
print("Running 'regen_messages.py' for {}".format(d))
retval = subprocess.run([interpreter, "regen_messages.py"])
if retval.returncode != 0:
return 1
os.chdir(root_dir)
os.chdir("redbot/core/locales")
print("Running 'regen_messages.py' for core")
retval = subprocess.run([interpreter, "regen_messages.py"])
if retval.returncode != 0:
return 1
os.chdir(root_dir)
subprocess.run(["crowdin", "upload"])
return 0
if __name__ == "__main__":
sys.exit(main())

View File

@ -1,17 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../admin.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,89 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../alias.py:129
msgid "No prefix found."
msgstr ""
#: ../alias.py:198
msgid "You attempted to create a new alias with the name {} but that name is already a command on this bot."
msgstr ""
#: ../alias.py:205
msgid "You attempted to create a new alias with the name {} but that alias already exists on this server."
msgstr ""
#: ../alias.py:212
msgid "You attempted to create a new alias with the name {} but that name is an invalid alias name. Alias names may not contain spaces."
msgstr ""
#: ../alias.py:224
msgid "A new alias with the trigger `{}` has been created."
msgstr ""
#: ../alias.py:236
msgid "You attempted to create a new global alias with the name {} but that name is already a command on this bot."
msgstr ""
#: ../alias.py:243
msgid "You attempted to create a new global alias with the name {} but that alias already exists on this server."
msgstr ""
#: ../alias.py:250
msgid "You attempted to create a new global alias with the name {} but that name is an invalid alias name. Alias names may not contain spaces."
msgstr ""
#: ../alias.py:259
msgid "A new global alias with the trigger `{}` has been created."
msgstr ""
#: ../alias.py:274
msgid "No such alias exists."
msgstr ""
#: ../alias.py:283
msgid "The `{}` alias will execute the command `{}`"
msgstr ""
#: ../alias.py:286
msgid "There is no alias with the name `{}`"
msgstr ""
#: ../alias.py:298
msgid "There are no aliases on this guild."
msgstr ""
#: ../alias.py:302 ../alias.py:320
msgid "Alias with the name `{}` was successfully deleted."
msgstr ""
#: ../alias.py:305 ../alias.py:323
msgid "Alias with name `{}` was not found."
msgstr ""
#: ../alias.py:316
msgid "There are no aliases on this bot."
msgstr ""
#: ../alias.py:331 ../alias.py:342
msgid "Aliases:"
msgstr ""
#: ../alias.py:333 ../alias.py:344
msgid "There are no aliases on this server."
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../alias.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,41 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../audio.py:25 ../audio.py:45
msgid "Join a voice channel first!"
msgstr ""
#: ../audio.py:33
msgid "Let's play a file that exists pls"
msgstr ""
#: ../audio.py:38 ../audio.py:58
msgid "{} is playing a song..."
msgstr ""
#: ../audio.py:48
msgid "Youtube links pls"
msgstr ""
#: ../audio.py:67 ../audio.py:77 ../audio.py:87 ../audio.py:97
msgid "I'm not even connected to a voice channel!"
msgstr ""
#: ../audio.py:95
msgid "Volume set."
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../audio.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,37 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../bank.py:68
msgid "global"
msgstr ""
#: ../bank.py:68
msgid "per-guild"
msgstr ""
#: ../bank.py:70
msgid "The bank is now {}."
msgstr ""
#: ../bank.py:77
msgid "Bank's name has been set to {}"
msgstr ""
#: ../bank.py:84
msgid "Currency name has been set to {}"
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../bank.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,25 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../cleanup.py:150
msgid "This command can only be used on bots with bot accounts."
msgstr ""
#: ../cleanup.py:157
msgid "Message not found."
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../cleanup.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,67 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../customcom.py:44
msgid ""
"Welcome to the interactive random {} maker!\n"
"Every message you send will be added as one of the random response to choose from once this {} is triggered. To exit this interactive menu, type `{}`"
msgstr ""
#: ../customcom.py:56
msgid "Add a random response:"
msgstr ""
#: ../customcom.py:119
msgid "Do you want to create a 'randomized' cc? {}"
msgstr ""
#: ../customcom.py:126
msgid "What response do you want?"
msgstr ""
#: ../customcom.py:205 ../customcom.py:235
msgid "Custom command successfully added."
msgstr ""
#: ../customcom.py:207 ../customcom.py:237
msgid "This command already exists. Use `{}` to edit it."
msgstr ""
#: ../customcom.py:229
msgid "That command is already a standard command."
msgstr ""
#: ../customcom.py:261
msgid "Custom command successfully edited."
msgstr ""
#: ../customcom.py:263
msgid "That command doesn't exist. Use `{}` to add it."
msgstr ""
#: ../customcom.py:282
msgid "Custom command successfully deleted."
msgstr ""
#: ../customcom.py:284
msgid "That command doesn't exist."
msgstr ""
#: ../customcom.py:294
msgid "There are no custom commands in this guild. Use `{}` to start adding some."
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../customcom.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,43 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-03-12 04:35+EDT\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../dataconverter.py:38
msgid "There don't seem to be any data files I know how to handle here. Are you sure you gave me the base installation path?"
msgstr ""
#: ../dataconverter.py:43
msgid "Please select a set of data to import by number, or 'exit' to exit"
msgstr ""
#: ../dataconverter.py:59
msgid "Try this again when you are more ready"
msgstr ""
#: ../dataconverter.py:70
msgid "That wasn't a valid choice."
msgstr ""
#: ../dataconverter.py:76
msgid "{} converted."
msgstr ""
#: ../dataconverter.py:80
msgid ""
"There isn't anything else I know how to convert here.\n"
"There might be more things I can convert in the future."
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../dataconverter.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -295,10 +295,8 @@ class Downloader:
return return
elif cog.min_python_version > sys.version_info: elif cog.min_python_version > sys.version_info:
await ctx.send( await ctx.send(
_( _("This cog requires at least python version {}, aborting install.").format(
"This cog requires at least python version {}, aborting install.".format( ".".join([str(n) for n in cog.min_python_version])
".".join([str(n) for n in cog.min_python_version])
)
) )
) )
return return

View File

@ -1,93 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../downloader.py:215
msgid "That git repo has already been added under another name."
msgstr ""
#: ../downloader.py:217 ../downloader.py:218
msgid "Something went wrong during the cloning process."
msgstr ""
#: ../downloader.py:220
msgid "Repo `{}` successfully added."
msgstr ""
#: ../downloader.py:229
msgid "The repo `{}` has been deleted successfully."
msgstr ""
#: ../downloader.py:237
msgid ""
"Installed Repos:\n"
msgstr ""
#: ../downloader.py:258
msgid "Error, there is no cog by the name of `{}` in the `{}` repo."
msgstr ""
#: ../downloader.py:263
msgid "Failed to install the required libraries for `{}`: `{}`"
msgstr ""
#: ../downloader.py:273
msgid "`{}` cog successfully installed."
msgstr ""
#: ../downloader.py:289
msgid "`{}` was successfully removed."
msgstr ""
#: ../downloader.py:291
msgid "That cog was installed but can no longer be located. You may need to remove it's files manually if it is still usable."
msgstr ""
#: ../downloader.py:315
msgid "Cog update completed successfully."
msgstr ""
#: ../downloader.py:323
msgid ""
"Available Cogs:\n"
msgstr ""
#: ../downloader.py:335
msgid "There is no cog `{}` in the repo `{}`"
msgstr ""
#: ../downloader.py:340
msgid ""
"Information on {}:\n"
"{}"
msgstr ""
#: ../downloader.py:381
msgid "Missing from info.json"
msgstr ""
#: ../downloader.py:390
msgid ""
"Command: {}\n"
"Made by: {}\n"
"Repo: {}\n"
"Cog name: {}"
msgstr ""
#: ../downloader.py:422
msgid "That command doesn't seem to exist."
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../downloader.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,199 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../economy.py:40
msgid "JACKPOT! 226! Your bid has been multiplied * 2500!"
msgstr ""
#: ../economy.py:44
msgid "4LC! +1000!"
msgstr ""
#: ../economy.py:48
msgid "Three cherries! +800!"
msgstr ""
#: ../economy.py:52
msgid "2 6! Your bid has been multiplied * 4!"
msgstr ""
#: ../economy.py:56
msgid "Two cherries! Your bid has been multiplied * 3!"
msgstr ""
#: ../economy.py:60
msgid "Three symbols! +500!"
msgstr ""
#: ../economy.py:64
msgid "Two consecutive symbols! Your bid has been multiplied * 2!"
msgstr ""
#: ../economy.py:68
msgid ""
"Slot machine payouts:\n"
"{two.value} {two.value} {six.value} Bet * 2500\n"
"{flc.value} {flc.value} {flc.value} +1000\n"
"{cherries.value} {cherries.value} {cherries.value} +800\n"
"{two.value} {six.value} Bet * 4\n"
"{cherries.value} {cherries.value} Bet * 3\n"
"\n"
"Three symbols: +500\n"
"Two symbols: Bet * 2"
msgstr ""
#: ../economy.py:157
msgid "{}'s balance is {} {}"
msgstr ""
#: ../economy.py:171
msgid "{} transferred {} {} to {}"
msgstr ""
#: ../economy.py:191
msgid "{} added {} {} to {}'s account."
msgstr ""
#: ../economy.py:196
msgid "{} removed {} {} from {}'s account."
msgstr ""
#: ../economy.py:201
msgid "{} set {}'s account to {} {}."
msgstr ""
#: ../economy.py:212
msgid ""
"This will delete all bank accounts for {}.\n"
"If you're sure, type `{}bank reset yes`"
msgstr ""
#: ../economy.py:229
msgid "All bank accounts of this guild have been deleted."
msgstr ""
#: ../economy.py:248 ../economy.py:268
msgid "{} Here, take some {}. Enjoy! (+{} {}!)"
msgstr ""
#: ../economy.py:258 ../economy.py:276
msgid "{} Too soon. For your next payday you have to wait {}."
msgstr ""
#: ../economy.py:313
msgid "There are no accounts in the bank."
msgstr ""
#: ../economy.py:339
msgid "You're on cooldown, try again in a bit."
msgstr ""
#: ../economy.py:342
msgid "That's an invalid bid amount, sorry :/"
msgstr ""
#: ../economy.py:345
msgid "You ain't got enough money, friend."
msgstr ""
#: ../economy.py:391
msgid ""
"{}\n"
"{} {}\n"
"\n"
"Your bid: {}\n"
"{} → {}!"
msgstr ""
#: ../economy.py:398
msgid ""
"{}\n"
"{} Nothing!\n"
"Your bid: {}\n"
"{} → {}!"
msgstr ""
#: ../economy.py:423
msgid ""
"Minimum slot bid: {}\n"
"Maximum slot bid: {}\n"
"Slot cooldown: {}\n"
"Payday amount: {}\n"
"Payday cooldown: {}\n"
"Amount given at account registration: {}"
msgstr ""
#: ../economy.py:433
msgid "Current Economy settings:"
msgstr ""
#: ../economy.py:441
msgid "Invalid min bid amount."
msgstr ""
#: ../economy.py:449
msgid "Minimum bid is now {} {}."
msgstr ""
#: ../economy.py:456
msgid "Invalid slotmax bid amount. Must be greater than slotmin."
msgstr ""
#: ../economy.py:465
msgid "Maximum bid is now {} {}."
msgstr ""
#: ../economy.py:475
msgid "Cooldown is now {} seconds."
msgstr ""
#: ../economy.py:485
msgid "Value modified. At least {} seconds must pass between each payday."
msgstr ""
#: ../economy.py:494
msgid "Har har so funny."
msgstr ""
#: ../economy.py:500
msgid "Every payday will now give {} {}."
msgstr ""
#: ../economy.py:511
msgid "Registering an account will now give {} {}."
msgstr ""
#: ../economy.py:517
msgid "weeks"
msgstr ""
#: ../economy.py:518
msgid "days"
msgstr ""
#: ../economy.py:519
msgid "hours"
msgstr ""
#: ../economy.py:520
msgid "minutes"
msgstr ""
#: ../economy.py:521
msgid "seconds"
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../economy.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,65 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../filter.py:62
msgid "Filtered in this server:"
msgstr ""
#: ../filter.py:67
msgid "I can't send direct messages to you."
msgstr ""
#: ../filter.py:96
msgid "Words added to filter."
msgstr ""
#: ../filter.py:98
msgid "Words already in the filter."
msgstr ""
#: ../filter.py:127
msgid "Words removed from filter."
msgstr ""
#: ../filter.py:129
msgid "Those words weren't in the filter."
msgstr ""
#: ../filter.py:142
msgid "Names and nicknames will no longer be checked against the filter"
msgstr ""
#: ../filter.py:147
msgid "Names and nicknames will now be checked against the filter"
msgstr ""
#: ../filter.py:160
msgid "The name to use on filtered names has been set"
msgstr ""
#: ../filter.py:171
msgid "Count and timeframe either both need to be 0 or both need to be greater than 0!"
msgstr ""
#: ../filter.py:179
msgid "Autoban disabled."
msgstr ""
#: ../filter.py:183
msgid "Count and time have been set."
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../filter.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -239,7 +239,7 @@ class General:
except: except:
await ctx.send( await ctx.send(
_(("No Urban dictionary entries were found or there was an error in the process")) _("No Urban dictionary entries were found or there was an error in the process")
) )
if data.get("error") != 404: if data.get("error") != 404:
@ -249,7 +249,7 @@ class General:
embeds = [] embeds = []
for ud in data["list"]: for ud in data["list"]:
embed = discord.Embed() embed = discord.Embed()
embed.title = _("{} by {}".format(ud["word"].capitalize(), ud["author"])) embed.title = _("{} by {}").format(ud["word"].capitalize(), ud["author"])
embed.url = ud["permalink"] embed.url = ud["permalink"]
description = "{} \n \n **Example : ** {}".format( description = "{} \n \n **Example : ** {}".format(
@ -257,13 +257,11 @@ class General:
) )
if len(description) > 2048: if len(description) > 2048:
description = "{}...".format(description[:2045]) description = "{}...".format(description[:2045])
embed.description = _(description) embed.description = description
embed.set_footer( embed.set_footer(
text=_( text=_("{} Down / {} Up , Powered by urban dictionary").format(
"{} Down / {} Up , Powered by urban dictionary".format( ud["thumbs_down"], ud["thumbs_up"]
ud["thumbs_down"], ud["thumbs_up"]
)
) )
) )
embeds.append(embed) embeds.append(embed)
@ -280,14 +278,17 @@ class General:
else: else:
messages = [] messages = []
for ud in data["list"]: for ud in data["list"]:
description = "{} \n \n **Example : ** {}".format( description = _("{} \n \n **Example : ** {}").format(
ud["definition"], ud.get("example", "N/A") ud["definition"], ud.get("example", "N/A")
) )
if len(description) > 2048: if len(description) > 2048:
description = "{}...".format(description[:2045]) description = "{}...".format(description[:2045])
description = _(description) description = description
message = "<{}> \n {} by {} \n \n {} \n \n {} Down / {} Up , Powered by urban dictionary".format( message = _(
"<{}> \n {} by {} \n \n {} \n \n {} Down / {} Up, Powered by urban "
"dictionary"
).format(
ud["permalink"], ud["permalink"],
ud["word"].capitalize(), ud["word"].capitalize(),
ud["author"], ud["author"],
@ -308,6 +309,6 @@ class General:
) )
else: else:
await ctx.send( await ctx.send(
_(("No Urban dictionary entries were found or there was an error in the process")) _("No Urban dictionary entries were found or there was an error in the process")
) )
return return

View File

@ -1,241 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../general.py:42
msgid "As I see it, yes"
msgstr ""
#: ../general.py:42
msgid "It is certain"
msgstr ""
#: ../general.py:42
msgid "It is decidedly so"
msgstr ""
#: ../general.py:43
msgid "Most likely"
msgstr ""
#: ../general.py:43
msgid "Outlook good"
msgstr ""
#: ../general.py:43
msgid "Signs point to yes"
msgstr ""
#: ../general.py:44
msgid "Without a doubt"
msgstr ""
#: ../general.py:44
msgid "Yes"
msgstr ""
#: ../general.py:44
msgid "Yes definitely"
msgstr ""
#: ../general.py:44
msgid "You may rely on it"
msgstr ""
#: ../general.py:45
msgid "Ask again later"
msgstr ""
#: ../general.py:45
msgid "Reply hazy, try again"
msgstr ""
#: ../general.py:46
msgid "Better not tell you now"
msgstr ""
#: ../general.py:46
msgid "Cannot predict now"
msgstr ""
#: ../general.py:47
msgid "Concentrate and ask again"
msgstr ""
#: ../general.py:47
msgid "Don't count on it"
msgstr ""
#: ../general.py:47
msgid "My reply is no"
msgstr ""
#: ../general.py:48
msgid "My sources say no"
msgstr ""
#: ../general.py:48
msgid "Outlook not so good"
msgstr ""
#: ../general.py:48
msgid "Very doubtful"
msgstr ""
#: ../general.py:64
msgid "Not enough choices to pick from."
msgstr ""
#: ../general.py:78
msgid "{} :game_die: {} :game_die:"
msgstr ""
#: ../general.py:81
msgid "{} Maybe higher than 1? ;P"
msgstr ""
#: ../general.py:93
msgid ""
"Nice try. You think this is funny?How about *this* instead:\n"
"\n"
msgstr ""
#: ../general.py:106
msgid "*flips a coin and... "
msgstr ""
#: ../general.py:106
msgid "HEADS!*"
msgstr ""
#: ../general.py:106
msgid "TAILS!*"
msgstr ""
#: ../general.py:130
msgid "{} You win {}!"
msgstr ""
#: ../general.py:134
msgid "{} You lose {}!"
msgstr ""
#: ../general.py:138
msgid "{} We're square {}!"
msgstr ""
#: ../general.py:151
msgid "That doesn't look like a question."
msgstr ""
#: ../general.py:159
msgid " Stopwatch started!"
msgstr ""
#: ../general.py:163
msgid " Stopwatch stopped! Time: **"
msgstr ""
#: ../general.py:216 ../general.py:217
msgid ""
"{}\n"
"({} days ago)"
msgstr ""
#: ../general.py:219
msgid "Chilling in {} status"
msgstr ""
#: ../general.py:223
msgid "Playing {}"
msgstr ""
#: ../general.py:225
msgid "Streaming [{}]({})"
msgstr ""
#: ../general.py:227
msgid "Listening to {}"
msgstr ""
#: ../general.py:229
msgid "Watching {}"
msgstr ""
#: ../general.py:234
msgid "None"
msgstr ""
#: ../general.py:237
msgid "Joined Discord on"
msgstr ""
#: ../general.py:238
msgid "Joined this guild on"
msgstr ""
#: ../general.py:239 ../general.py:286
msgid "Roles"
msgstr ""
#: ../general.py:240
msgid "Member #{} | User ID: {}"
msgstr ""
#: ../general.py:257 ../general.py:299
msgid "I need the `Embed links` permission to send this."
msgstr ""
#: ../general.py:272
msgid "Since {}. That's over {} days ago!"
msgstr ""
#: ../general.py:282
msgid "Region"
msgstr ""
#: ../general.py:283
msgid "Users"
msgstr ""
#: ../general.py:284
msgid "Text Channels"
msgstr ""
#: ../general.py:285
msgid "Voice Channels"
msgstr ""
#: ../general.py:287
msgid "Owner"
msgstr ""
#: ../general.py:288
msgid "Guild ID: "
msgstr ""
#: ../general.py:343
msgid "Your search terms gave no results."
msgstr ""
#: ../general.py:345
msgid "There is no definition #{}"
msgstr ""
#: ../general.py:347
msgid "Error."
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../general.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,46 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../image.py:49
msgid "Your search returned no results"
msgstr ""
#: ../image.py:52
msgid ""
"Search results...\n"
msgstr ""
#: ../image.py:58 ../image.py:100
msgid "Something went wrong. Error code is {}"
msgstr ""
#: ../image.py:70
msgid "Only 'new' and 'top' are a valid sort type."
msgstr ""
#: ../image.py:98 ../image.py:135 ../image.py:157
msgid "No results found."
msgstr ""
#: ../image.py:115
msgid "Set the imgur client id!"
msgstr ""
#: ../image.py:137 ../image.py:159
msgid "Error contacting the API"
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../image.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,286 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../mod.py:209
msgid "Role hierarchy will be checked when moderation commands are issued."
msgstr ""
#: ../mod.py:213
msgid "Role hierarchy will be ignored when moderation commands are issued."
msgstr ""
#: ../mod.py:228
msgid "Autoban for mention spam enabled. Anyone mentioning {} or more different people in a single message will be autobanned."
msgstr ""
#: ../mod.py:239
msgid "Autoban for mention spam disabled."
msgstr ""
#: ../mod.py:249
msgid "Messages repeated up to 3 times will be deleted."
msgstr ""
#: ../mod.py:253
msgid "Repeated messages will be ignored."
msgstr ""
#: ../mod.py:267
msgid "Command deleting disabled."
msgstr ""
#: ../mod.py:270
msgid "Delete delay set to {} seconds."
msgstr ""
#: ../mod.py:275
msgid "Bot will delete command messages after {} seconds. Set this value to -1 to stop deleting messages"
msgstr ""
#: ../mod.py:279
msgid "I will not delete command messages."
msgstr ""
#: ../mod.py:292
msgid "Users unbanned with {} will be reinvited."
msgstr ""
#: ../mod.py:295
msgid "Users unbanned with {} will not be reinvited."
msgstr ""
#: ../mod.py:309 ../mod.py:349 ../mod.py:506
msgid "I cannot let you do that. Self-harm is bad {}"
msgstr ""
#: ../mod.py:313 ../mod.py:353 ../mod.py:510
msgid "I cannot let you do that. You are not higher than the user in the role hierarchy."
msgstr ""
#: ../mod.py:323 ../mod.py:379 ../mod.py:570
msgid "I'm not allowed to do that."
msgstr ""
#: ../mod.py:327
msgid "Done. That felt good."
msgstr ""
#: ../mod.py:369
msgid "Invalid days. Must be between 0 and 7."
msgstr ""
#: ../mod.py:384
msgid "Done. It was about time."
msgstr ""
#: ../mod.py:413
msgid "User is already banned."
msgstr ""
#: ../mod.py:429
msgid "User not found. Have you provided the correct user ID?"
msgstr ""
#: ../mod.py:433
msgid "I lack the permissions to do this."
msgstr ""
#: ../mod.py:435
msgid "Done. The user will not be able to join this guild."
msgstr ""
#: ../mod.py:472
msgid "You have been temporarily banned from {} until {}. Here is an invite for when your ban expires: {}"
msgstr ""
#: ../mod.py:481
msgid "I can't do that for some reason."
msgstr ""
#: ../mod.py:483
msgid "Something went wrong while banning"
msgstr ""
#: ../mod.py:485
msgid "Done. Enough chaos for now"
msgstr ""
#: ../mod.py:525
msgid ""
"You have been banned and then unbanned as a quick way to delete your messages.\n"
"You can now join the guild again. {}"
msgstr ""
#: ../mod.py:537
msgid "My role is not high enough to softban that user."
msgstr ""
#: ../mod.py:553
msgid "Done. Enough chaos."
msgstr ""
#: ../mod.py:587
msgid "Couldn't find a user with that ID!"
msgstr ""
#: ../mod.py:593
msgid "It seems that user isn't banned!"
msgstr ""
#: ../mod.py:601
msgid "Something went wrong while attempting to unban that user"
msgstr ""
#: ../mod.py:604
msgid "Unbanned that user from this guild"
msgstr ""
#: ../mod.py:619
msgid ""
"You've been unbanned from {}.\n"
"Here is an invite for that guild: {}"
msgstr ""
#: ../mod.py:623
msgid ""
"I failed to send an invite to that user. Perhaps you may be able to send it for me?\n"
"Here's the invite link: {}"
msgstr ""
#: ../mod.py:629
msgid "Something went wrong when attempting to send that useran invite. Here's the link so you can try: {}"
msgstr ""
#: ../mod.py:673 ../mod.py:710
msgid "No voice state for that user!"
msgstr ""
#: ../mod.py:687
msgid "That user is already muted and deafened guild-wide!"
msgstr ""
#: ../mod.py:690
msgid "User has been banned from speaking or listening in voice channels"
msgstr ""
#: ../mod.py:722
msgid "That user isn't muted or deafened by the guild!"
msgstr ""
#: ../mod.py:725
msgid "User is now allowed to speak and listen in voice channels"
msgstr ""
#: ../mod.py:754
msgid "I cannot do that, I lack the '{}' permission."
msgstr ""
#: ../mod.py:783
msgid "Muted {}#{} in channel {}"
msgstr ""
#: ../mod.py:797
msgid "That user is already muted in {}!"
msgstr ""
#: ../mod.py:800 ../mod.py:932
msgid "That user is not in a voice channel right now!"
msgstr ""
#: ../mod.py:802 ../mod.py:934
msgid "No voice state for the target!"
msgstr ""
#: ../mod.py:822
msgid "User has been muted in this channel."
msgstr ""
#: ../mod.py:858
msgid "User has been muted in this guild."
msgstr ""
#: ../mod.py:919
msgid "Unmuted {}#{} in channel {}"
msgstr ""
#: ../mod.py:929
msgid "That user is already unmuted in {}!"
msgstr ""
#: ../mod.py:949
msgid "User unmuted in this channel."
msgstr ""
#: ../mod.py:958
msgid "Unmute failed. Reason: {}"
msgstr ""
#: ../mod.py:981
msgid "User has been unmuted in this guild."
msgstr ""
#: ../mod.py:1045
msgid "Channel added to ignore list."
msgstr ""
#: ../mod.py:1047
msgid "Channel already in ignore list."
msgstr ""
#: ../mod.py:1055
msgid "This guild has been added to the ignore list."
msgstr ""
#: ../mod.py:1057
msgid "This guild is already being ignored."
msgstr ""
#: ../mod.py:1078
msgid "Channel removed from ignore list."
msgstr ""
#: ../mod.py:1080
msgid "That channel is not in the ignore list."
msgstr ""
#: ../mod.py:1088
msgid "This guild has been removed from the ignore list."
msgstr ""
#: ../mod.py:1090
msgid "This guild is not in the ignore list."
msgstr ""
#: ../mod.py:1102
msgid ""
"Currently ignoring:\n"
"{} channels\n"
"{} guilds\n"
msgstr ""
#: ../mod.py:1133
msgid "**Past 20 names**:"
msgstr ""
#: ../mod.py:1140
msgid "**Past 20 nicknames**:"
msgstr ""
#: ../mod.py:1146
msgid "That user doesn't have any recorded name or nickname change."
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../mod.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,61 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../modlog.py:36
msgid "Mod events will be sent to {}"
msgstr ""
#: ../modlog.py:42
msgid "I do not have permissions to send messages in {}!"
msgstr ""
#: ../modlog.py:52
msgid "Mod log deactivated."
msgstr ""
#: ../modlog.py:63
msgid "Current settings:"
msgstr ""
#: ../modlog.py:75
msgid "That action is not registered"
msgstr ""
#: ../modlog.py:82
msgid "Case creation for {} actions is now {}."
msgstr ""
#: ../modlog.py:94
msgid "Cases have been reset."
msgstr ""
#: ../modlog.py:103
msgid "That case does not exist for that guild"
msgstr ""
#: ../modlog.py:122
msgid "That case does not exist!"
msgstr ""
#: ../modlog.py:146
msgid "You are not authorized to modify that case!"
msgstr ""
#: ../modlog.py:155
msgid "Reason has been updated."
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../modlog.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,17 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../mod.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,17 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../mod.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -1,117 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-25 17:26+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../helpers.py:62
msgid "I could not find a command from that input!"
msgstr ""
#: ../helpers.py:67
msgid "That command requires bot owner. I can't allow you to use that for an action"
msgstr ""
#: ../helpers.py:76
msgid ""
"Enter the command to be run when the user exceeds the points for this action to occur.\n"
"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use {user} in place of any user/member arguments\n"
"\n"
"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n"
"\n"
"Please wait 15 seconds before entering your response."
msgstr ""
#: ../helpers.py:86 ../helpers.py:126
msgid "You may enter your response now."
msgstr ""
#: ../helpers.py:94 ../helpers.py:134
msgid "Ok then."
msgstr ""
#: ../helpers.py:114
msgid ""
"Enter the command to be run when the user returns to a value below the points for this action to occur. Please note that this is intended to be used for reversal of the action taken when the user exceeded the action's point value\n"
"Enter it exactly as you would if you were actually trying to run the command, except don't put a prefix and use {user} in place of any user/member arguments\n"
"\n"
"WARNING: The command entered will be run without regard to checks or cooldowns. Commands requiring bot owner are not allowed for security reasons.\n"
"\n"
"Please wait 15 seconds before entering your response."
msgstr ""
#: ../warnings.py:66
msgid "Custom reasons have been {}"
msgstr ""
#: ../warnings.py:66
msgid "disabled"
msgstr ""
#: ../warnings.py:66
msgid "enabled"
msgstr ""
#: ../warnings.py:92 ../warnings.py:351 ../warnings.py:368
msgid "Ok then"
msgstr ""
#: ../warnings.py:117
msgid "Duplicate action name found!"
msgstr ""
#: ../warnings.py:171
msgid "That reason has been registered"
msgstr ""
#: ../warnings.py:181
msgid "Removed reason {}"
msgstr ""
#: ../warnings.py:183
msgid "That is not a registered reason name"
msgstr ""
#: ../warnings.py:230
msgid "Custom reasons are not allowed! Please see {} for a complete list of valid reasons"
msgstr ""
#: ../warnings.py:243
msgid "That is not a registered reason!"
msgstr ""
#: ../warnings.py:277
msgid "You are not allowed to check warnings for other users!"
msgstr ""
#: ../warnings.py:290
msgid "That user has no warnings!"
msgstr ""
#: ../warnings.py:347
msgid "How many points should be given for this reason?"
msgstr ""
#: ../warnings.py:356
msgid "That isn't a number!"
msgstr ""
#: ../warnings.py:360
msgid "The point value needs to be greater than 0!"
msgstr ""
#: ../warnings.py:364
msgid "Enter a description for this reason"
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../warnings.py", "../helpers.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()

View File

@ -544,7 +544,7 @@ class Core(CoreLogic):
if unloaded: if unloaded:
fmt = "Package{plural} {packs} {other} unloaded." fmt = "Package{plural} {packs} {other} unloaded."
formed = self._get_package_strings(unloaded, fmt, ("was", "were")) formed = self._get_package_strings(unloaded, fmt, ("was", "were"))
await ctx.send(_(formed)) await ctx.send(formed)
if failed: if failed:
fmt = "The package{plural} {packs} {other} not loaded." fmt = "The package{plural} {packs} {other} not loaded."

View File

@ -1,287 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-02-18 14:42+AKST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: ENCODING\n"
"Generated-By: pygettext.py 1.5\n"
#: ../cog_manager.py:308
msgid ""
"Install Path: {}\n"
"\n"
msgstr ""
#: ../cog_manager.py:324
msgid "That path does not exist or does not point to a valid directory."
msgstr ""
#: ../cog_manager.py:333
msgid "Path successfully added."
msgstr ""
#: ../cog_manager.py:346
msgid "That is an invalid path number."
msgstr ""
#: ../cog_manager.py:350
msgid "Path successfully removed."
msgstr ""
#: ../cog_manager.py:366
msgid "Invalid 'from' index."
msgstr ""
#: ../cog_manager.py:372
msgid "Invalid 'to' index."
msgstr ""
#: ../cog_manager.py:376
msgid "Paths reordered."
msgstr ""
#: ../cog_manager.py:394
msgid "That path does not exist."
msgstr ""
#: ../cog_manager.py:398
msgid "The bot will install new cogs to the `{}` directory."
msgstr ""
#: ../core_commands.py:224 ../core_commands.py:258
msgid "No module by that name was found in any cog path."
msgstr ""
#: ../core_commands.py:232
msgid "Failed to load package. Check your console or logs for details."
msgstr ""
#: ../core_commands.py:236 ../core_commands.py:245 ../core_commands.py:270
#: ../core_commands.py:359 ../core_commands.py:447 ../core_commands.py:461
msgid "Done."
msgstr ""
#: ../core_commands.py:247
msgid "That extension is not loaded."
msgstr ""
#: ../core_commands.py:267
msgid "Failed to reload package. Check your console or logs for details."
msgstr ""
#: ../core_commands.py:280
msgid "Shutting down... "
msgstr ""
#: ../core_commands.py:295
msgid "Restarting..."
msgstr ""
#: ../core_commands.py:332
msgid "The admin role for this guild has been set."
msgstr ""
#: ../core_commands.py:340
msgid "The mod role for this guild has been set."
msgstr ""
#: ../core_commands.py:353
msgid "Failed. Remember that you can edit my avatar up to two times a hour. The URL must be a direct link to a JPG / PNG."
msgstr ""
#: ../core_commands.py:357
msgid "JPG / PNG format only."
msgstr ""
#: ../core_commands.py:372
msgid "Game set."
msgstr ""
#: ../core_commands.py:384
msgid "Listening set."
msgstr ""
#: ../core_commands.py:396
msgid "Watching set."
msgstr ""
#: ../core_commands.py:425
msgid "Status changed to %s."
msgstr ""
#: ../core_commands.py:456
msgid "Failed to change name. Remember that you can only do it up to 2 times an hour. Use nicknames if you need frequent changes. `{}set nickname`"
msgstr ""
#: ../core_commands.py:471
msgid "I lack the permissions to change my own nickname."
msgstr ""
#: ../core_commands.py:485 ../core_commands.py:498
msgid "Prefix set."
msgstr ""
#: ../core_commands.py:494
msgid "Guild prefixes have been reset."
msgstr ""
#: ../core_commands.py:517
msgid ""
"\n"
"Verification token:"
msgstr ""
#: ../core_commands.py:520
msgid ""
"Remember:\n"
msgstr ""
#: ../core_commands.py:523
msgid "I have printed a one-time token in the console. Copy and paste it here to confirm you are the owner."
msgstr ""
#: ../core_commands.py:531
msgid "The set owner request has timed out."
msgstr ""
#: ../core_commands.py:537
msgid "You have been set as owner."
msgstr ""
#: ../core_commands.py:539
msgid "Invalid token."
msgstr ""
#: ../core_commands.py:551
msgid "Locale has been set."
msgstr ""
#: ../core_commands.py:565
msgid "Done. Sentry logging is now enabled."
msgstr ""
#: ../core_commands.py:568
msgid "Done. Sentry logging is now disabled."
msgstr ""
#: ../core_commands.py:578
msgid "User ID: %s"
msgstr ""
#: ../core_commands.py:581
msgid "through DM"
msgstr ""
#: ../core_commands.py:583
msgid "from {}"
msgstr ""
#: ../core_commands.py:584
msgid " | Server ID: %s"
msgstr ""
#: ../core_commands.py:593
msgid "Use `{}dm {} <text>` to reply to this user"
msgstr ""
#: ../core_commands.py:601
msgid "Sent by {} {}"
msgstr ""
#: ../core_commands.py:613
msgid "I cannot send your message, I'm unable to find my owner... *sigh*"
msgstr ""
#: ../core_commands.py:616
msgid "I'm unable to deliver your message. Sorry."
msgstr ""
#: ../core_commands.py:618
msgid "Your message has been sent."
msgstr ""
#: ../core_commands.py:632
msgid "Invalid ID or user not found. You can only send messages to people I share a server with."
msgstr ""
#: ../core_commands.py:638
msgid "Owner of %s"
msgstr ""
#: ../core_commands.py:642
msgid "You can reply to this message with %scontact"
msgstr ""
#: ../core_commands.py:652
msgid "Sorry, I couldn't deliver your message to %s"
msgstr ""
#: ../core_commands.py:655
msgid "Message delivered to %s"
msgstr ""
#: ../core_commands.py:675
msgid "User added to whitelist."
msgstr ""
#: ../core_commands.py:684
msgid "Whitelisted Users:"
msgstr ""
#: ../core_commands.py:704
msgid "User has been removed from whitelist."
msgstr ""
#: ../core_commands.py:706
msgid "User was not in the whitelist."
msgstr ""
#: ../core_commands.py:714
msgid "Whitelist has been cleared."
msgstr ""
#: ../core_commands.py:731
msgid "You cannot blacklist an owner!"
msgstr ""
#: ../core_commands.py:738
msgid "User added to blacklist."
msgstr ""
#: ../core_commands.py:747
msgid "blacklisted Users:"
msgstr ""
#: ../core_commands.py:767
msgid "User has been removed from blacklist."
msgstr ""
#: ../core_commands.py:769
msgid "User was not in the blacklist."
msgstr ""
#: ../core_commands.py:777
msgid "blacklist has been cleared."
msgstr ""
#: ../dev_commands.py:213
msgid "Already running a REPL session in this channel. Exit it with `quit`."
msgstr ""
#: ../dev_commands.py:218
msgid "Enter code to execute or evaluate. `exit()` or `quit` to exit."
msgstr ""
#: ../dev_commands.py:281
msgid "Unexpected error: `{}`"
msgstr ""

View File

@ -1,11 +0,0 @@
import subprocess
TO_TRANSLATE = ["../cog_manager.py", "../core_commands.py", "../dev_commands.py"]
def regen_messages():
subprocess.run(["pygettext", "-n"] + TO_TRANSLATE)
if __name__ == "__main__":
regen_messages()