From 1c761aca8d6e1f114d0b43e4f0c8af8a3972ca48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C4=B1=CE=B5=D1=8F=D1=8F=CE=B5?= <47398145+AiroPi@users.noreply.github.com> Date: Wed, 6 Dec 2023 17:01:11 +0100 Subject: [PATCH] Update crowdin workflows --- .github/workflows/crowdin-download.yml | 51 ++ .github/workflows/crowdin-upload.yml | 40 ++ .github/workflows/generate-mo-files.yml | 27 - .github/workflows/generate-pot-file.yml | 38 -- crowdin.yml | 3 + resources/locale/fr/LC_MESSAGES/mybot.mo | Bin 10948 -> 0 bytes resources/locale/mybot.pot | 744 ----------------------- 7 files changed, 94 insertions(+), 809 deletions(-) create mode 100644 .github/workflows/crowdin-download.yml create mode 100644 .github/workflows/crowdin-upload.yml delete mode 100644 .github/workflows/generate-mo-files.yml delete mode 100644 .github/workflows/generate-pot-file.yml delete mode 100644 resources/locale/fr/LC_MESSAGES/mybot.mo delete mode 100644 resources/locale/mybot.pot diff --git a/.github/workflows/crowdin-download.yml b/.github/workflows/crowdin-download.yml new file mode 100644 index 0000000..9a9352a --- /dev/null +++ b/.github/workflows/crowdin-download.yml @@ -0,0 +1,51 @@ +name: Download from crowdin + +on: + workflow_dispatch: + schedule: + - cron: 0 * * * * + +jobs: + download: + runs-on: ubuntu-latest + # secrets cannot be accessed inside an `if` so this needs to be checked in separate job + name: dowload + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + ref: master + + - name: Install crowdin cli + run: | + wget -qO - https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | sudo apt-key add - + echo "deb https://artifacts.crowdin.com/repo/deb/ /" | sudo tee -a /etc/apt/sources.list.d/crowdin.list + sudo apt-get update && sudo apt-get install crowdin3 + + - name: Download translations + shell: bash + run: | + crowdin download --all + env: + CROWDIN_API_KEY: ${{ secrets.CROWDIN_API_KEY }} + + # - uses: EndBug/add-and-commit@v9 + # with: + # message: "PO files updated." + + # - name: Create pull request + # id: cpr_crowdin + # uses: peter-evans/create-pull-request@v3 + # with: + # token: ${{ secrets.GITHUB_TOKEN }} + # commit-message: Crowdin translations download + # title: "[Crowdin] Updated translation files" + # body: | + # Created by the [Crowdin download workflow](.github/workflows/crowdin_download.yml). + # branch: "auto/crowdin" + # author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> + + - name: create pull request + run: gh pr create -B auto/crowdin -H master --title 'Update translations.' --body 'Created by Github action' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/crowdin-upload.yml b/.github/workflows/crowdin-upload.yml new file mode 100644 index 0000000..4dac312 --- /dev/null +++ b/.github/workflows/crowdin-upload.yml @@ -0,0 +1,40 @@ +name: Upload to crowdin + +on: + workflow_dispatch: + push: + branches: [master] + paths: + - "**.py" + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + ref: master + + - name: Install crowdin cli + run: | + wget -qO - https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | sudo apt-key add - + echo "deb https://artifacts.crowdin.com/repo/deb/ /" | sudo tee -a /etc/apt/sources.list.d/crowdin.list + sudo apt-get update && sudo apt-get install crowdin3 + + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + cache: pip + + - name: babel extract (pot file generation) + run: | + pip install babel + sh ./bin/pot-generation.sh + + - name: Upload sources + shell: bash + run: | + crowdin upload + env: + CROWDIN_API_KEY: ${{ secrets.CROWDIN_API_KEY }} diff --git a/.github/workflows/generate-mo-files.yml b/.github/workflows/generate-mo-files.yml deleted file mode 100644 index 6a3ab1e..0000000 --- a/.github/workflows/generate-mo-files.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Generate MO from PO files - -on: - push: - branches: [auto/crowdin] - paths: - - "**.po" - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - with: - token: ${{ secrets.GH_TOKEN }} - - - uses: actions/setup-python@v4 - with: - python-version: "3.11" - - - name: Run a one-line script - run: sh ./bin/po-to-mo.sh - - - uses: EndBug/add-and-commit@v9 - with: - message: "MO files generated." diff --git a/.github/workflows/generate-pot-file.yml b/.github/workflows/generate-pot-file.yml deleted file mode 100644 index 1b10832..0000000 --- a/.github/workflows/generate-pot-file.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Generate pot file - -on: - workflow_dispatch: - push: - branches: [master] - paths: - - "**.py" - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - - uses: actions/setup-python@v4 - with: - python-version: "3.11" - cache: pip - - - name: babel extract (pot file generation) - run: | - cd master - pip install babel - sh ./bin/pot-generation.sh - - - name: setup git - run: | - git config user.name "GitHub Actions Bot" - git config user.email "<>" - - - name: commit - run: | - git switch -c auto/translations-source - git add ./data/locale/mybot.pot - git commit -m "POT file generated" - git push origin auto/translations-source --force diff --git a/crowdin.yml b/crowdin.yml index eb47f01..a41511a 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,3 +1,6 @@ +project_id: "532668" +api_token_env: CROWDIN_API_KEY + files: - source: /resources/locale/*.pot translation: /resources/locale/%locale%/LC_MESSAGES/%file_name%.po diff --git a/resources/locale/fr/LC_MESSAGES/mybot.mo b/resources/locale/fr/LC_MESSAGES/mybot.mo deleted file mode 100644 index 27c12364a61f806d317bd47004b82d38bf0c4319..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10948 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 LuN%Z2*CqIWe-aR) diff --git a/resources/locale/mybot.pot b/resources/locale/mybot.pot deleted file mode 100644 index b6dfb3c..0000000 --- a/resources/locale/mybot.pot +++ /dev/null @@ -1,744 +0,0 @@ -# Translations template for MyBot. -# Copyright (C) 2023 ORGANIZATION -# This file is distributed under the same license as the MyBot project. -# FIRST AUTHOR , 2023. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: MyBot 1.0\n" -"Report-Msgid-Bugs-To: contact@mybot-discord.com\n" -"POT-Creation-Date: 2023-12-05 23:54+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.13.1\n" - -#: src/cogs/help.py:29 -msgid "slash command" -msgstr "" - -#: src/cogs/help.py:30 -msgid "message context" -msgstr "" - -#: src/cogs/help.py:31 -msgid "user context" -msgstr "" - -#: src/cogs/help.py:32 -msgid "miscellaneous" -msgstr "" - -#: src/cogs/help.py:40 -msgid "help" -msgstr "" - -#: src/cogs/help.py:40 -msgid "Get help about the bot." -msgstr "" - -#: src/cogs/help.py:41 -msgid "feature" -msgstr "" - -#: src/cogs/help.py:72 -msgid "Commands of MyBot" -msgstr "" - -#: src/cogs/help.py:76 -msgid "Slash commands" -msgstr "" - -#: src/cogs/help.py:77 -msgid "Context commands" -msgstr "" - -#: src/cogs/help.py:78 -msgid "Miscellaneous features" -msgstr "" - -#: src/cogs/help.py:148 -msgid "Help about {} [{}]" -msgstr "" - -#: src/cogs/ping.py:28 -msgid "ping" -msgstr "" - -#: src/cogs/ping.py:29 -msgid "Get the bot latency." -msgstr "" - -#: src/cogs/stats.py:40 -msgid "stats" -msgstr "" - -#: src/cogs/stats.py:41 -msgid "Get some stats about the bot." -msgstr "" - -#: src/cogs/calculator/__init__.py:41 -msgid "calculator" -msgstr "" - -#: src/cogs/calculator/__init__.py:42 -msgid "Show a calculator you can use." -msgstr "" - -#: src/cogs/calculator/__init__.py:66 -msgid "Invalid expression" -msgstr "" - -#: src/cogs/clear/__init__.py:54 -msgid "Delete multiple messages with some filters." -msgstr "" - -#: src/cogs/clear/__init__.py:60 -msgid "The amount of messages to delete." -msgstr "" - -#: src/cogs/clear/__init__.py:61 -msgid "Delete only messages from the specified user." -msgstr "" - -#: src/cogs/clear/__init__.py:62 -msgid "Delete only messages whose user has the specified role." -msgstr "" - -#: src/cogs/clear/__init__.py:63 -msgid "Delete only messages that match the specified search (can be regex)." -msgstr "" - -#: src/cogs/clear/__init__.py:66 -msgid "Delete only messages that contains the selected entry. #TODO" -msgstr "" - -#: src/cogs/clear/__init__.py:69 -msgid "" -"Delete only messages where length match the specified entry. (e.g. " -"'<=100', '5', '>10') #TODO" -msgstr "" - -#: src/cogs/clear/__init__.py:70 -msgid "" -"Delete only messages sent before the specified message or date. (yyyy-mm-" -"dd) #TODO" -msgstr "" - -#: src/cogs/clear/__init__.py:71 -msgid "" -"Delete only messages sent after the specified message or date. (yyyy-mm-" -"dd) #TODO" -msgstr "" - -#: src/cogs/clear/__init__.py:72 -msgid "" -"Include/exclude pinned messages in deletion, or deletes \"only\" pinned " -"messages. (default to exclude)" -msgstr "" - -#: src/cogs/clear/__init__.py:77 -msgid "amount" -msgstr "" - -#: src/cogs/clear/__init__.py:78 -msgid "user" -msgstr "" - -#: src/cogs/clear/__init__.py:79 -msgid "role" -msgstr "" - -#: src/cogs/clear/__init__.py:80 -msgid "search" -msgstr "" - -#: src/cogs/clear/__init__.py:81 -msgid "has" -msgstr "" - -#: src/cogs/clear/__init__.py:82 -msgid "length" -msgstr "" - -#: src/cogs/clear/__init__.py:83 -msgid "before" -msgstr "" - -#: src/cogs/clear/__init__.py:84 -msgid "after" -msgstr "" - -#: src/cogs/clear/__init__.py:85 -msgid "pinned" -msgstr "" - -#: src/cogs/clear/__init__.py:106 -msgid "You must supply a number between 1 and 250. (0 < {amount} < 251)" -msgstr "" - -#: src/cogs/clear/__init__.py:144 -msgid "Clearing {amount} message(s)..." -msgstr "" - -#: src/cogs/clear/__init__.py:146 -msgid "" -"Analyzed: {analyzed}\n" -"Deleted: {deleted}/{goal}\n" -"Planned for deletion: {planned}" -msgstr "" - -#: src/cogs/clear/__init__.py:187 -msgid "Cannot clear more than 3 minutes. {} message(s) deleted." -msgstr "" - -#: src/cogs/clear/__init__.py:188 -msgid "Clear cancelled. {} message(s) deleted." -msgstr "" - -#: src/cogs/clear/__init__.py:196 -msgid "{} message(s) deleted." -msgstr "" - -#: src/cogs/clear/__init__.py:266 src/cogs/poll/edit.py:229 -#: src/cogs/poll/edit.py:327 src/cogs/poll/edit.py:389 -#: src/cogs/poll/edit.py:431 src/cogs/poll/edit.py:470 -#: src/cogs/poll/edit.py:500 -msgid "Cancel" -msgstr "" - -#: src/cogs/clear/clear_transformers.py:29 -msgid "include" -msgstr "" - -#: src/cogs/clear/clear_transformers.py:30 -msgid "exclude" -msgstr "" - -#: src/cogs/clear/clear_transformers.py:31 -msgid "only" -msgstr "" - -#: src/cogs/clear/clear_transformers.py:47 -msgid "image" -msgstr "" - -#: src/cogs/clear/clear_transformers.py:48 -msgid "video" -msgstr "" - -#: src/cogs/clear/clear_transformers.py:49 -msgid "audio" -msgstr "" - -#: src/cogs/clear/clear_transformers.py:50 -msgid "stickers" -msgstr "" - -#: src/cogs/clear/clear_transformers.py:51 -msgid "file" -msgstr "" - -#: src/cogs/clear/clear_transformers.py:52 -msgid "embed" -msgstr "" - -#: src/cogs/clear/clear_transformers.py:53 -msgid "link (any URL)" -msgstr "" - -#: src/cogs/clear/clear_transformers.py:54 -msgid "mention" -msgstr "" - -#: src/cogs/clear/clear_transformers.py:55 -msgid "discord invitation" -msgstr "" - -#: src/cogs/config/__init__.py:31 -msgid "config" -msgstr "" - -#: src/cogs/config/__init__.py:32 -msgid "Set configurations." -msgstr "" - -#: src/cogs/config/__init__.py:36 -msgid "guild" -msgstr "" - -#: src/cogs/config/__init__.py:37 -msgid "Set configuration for the guild." -msgstr "" - -#: src/cogs/config/__init__.py:40 -msgid "bot" -msgstr "" - -#: src/cogs/config/__init__.py:41 -msgid "Set configuration for the bot." -msgstr "" - -#: src/cogs/config/__init__.py:53 -msgid "emote" -msgstr "" - -#: src/cogs/config/__init__.py:54 -msgid "Add restriction to an emote for a role." -msgstr "" - -#: src/cogs/config/__init__.py:61 -msgid "public_translations" -msgstr "" - -#: src/cogs/config/__init__.py:62 -msgid "Set if the translations are visible for everyone or not." -msgstr "" - -#: src/cogs/config/config_bot.py:29 -msgid "Translations will now be public." -msgstr "" - -#: src/cogs/config/config_bot.py:30 -msgid "Translations will now be private." -msgstr "" - -#: src/cogs/game/__init__.py:33 -msgid "game" -msgstr "" - -#: src/cogs/game/__init__.py:34 -msgid "Play some games." -msgstr "" - -#: src/cogs/game/__init__.py:58 -msgid "connect4" -msgstr "" - -#: src/cogs/game/__init__.py:59 -msgid "Play connect 4" -msgstr "" - -#: src/cogs/game/__init__.py:66 -msgid "rpc" -msgstr "" - -#: src/cogs/game/__init__.py:67 -msgid "Play rock paper scissors" -msgstr "" - -#: src/cogs/game/__init__.py:74 -msgid "tictactoe" -msgstr "" - -#: src/cogs/game/__init__.py:75 -msgid "Play tictactoe" -msgstr "" - -#: src/cogs/game/__init__.py:82 -msgid "minesweeper" -msgstr "" - -#: src/cogs/game/__init__.py:83 -msgid "Play minesweeper" -msgstr "" - -#: src/cogs/game/__init__.py:90 -msgid "2048" -msgstr "" - -#: src/cogs/game/__init__.py:91 -msgid "Play 2048" -msgstr "" - -#: src/cogs/poll/__init__.py:35 -msgid "poll" -msgstr "" - -#: src/cogs/poll/__init__.py:35 src/cogs/poll/__init__.py:113 -#: src/cogs/poll/edit.py:186 -msgid "Create a new poll" -msgstr "" - -#: src/cogs/poll/__init__.py:41 -msgid "Edit poll" -msgstr "" - -#: src/cogs/poll/__init__.py:43 -msgid "Use this to edit a poll even after creation." -msgstr "" - -#: src/cogs/poll/__init__.py:76 -msgid "custom_choice" -msgstr "" - -#: src/cogs/poll/__init__.py:77 -msgid "A poll with customizable options." -msgstr "" - -#: src/cogs/poll/__init__.py:85 -msgid "yesno" -msgstr "" - -#: src/cogs/poll/__init__.py:86 -msgid "A simple poll with \"Yes\" and \"No\" as options." -msgstr "" - -#: src/cogs/poll/__init__.py:101 -msgid "This message is not a poll." -msgstr "" - -#: src/cogs/poll/__init__.py:103 -msgid "You are not the author of this poll. You can't edit it." -msgstr "" - -#: src/cogs/poll/__init__.py:120 src/cogs/poll/edit.py:192 -msgid "Poll question" -msgstr "" - -#: src/cogs/poll/__init__.py:120 src/cogs/poll/edit.py:193 -msgid "Do you agree this bot is awesome?" -msgstr "" - -#: src/cogs/poll/__init__.py:124 src/cogs/poll/edit.py:200 -msgid "Poll description" -msgstr "" - -#: src/cogs/poll/__init__.py:125 src/cogs/poll/edit.py:202 -msgid "Tell more about your poll here." -msgstr "" - -#: src/cogs/poll/__init__.py:147 -msgid "Choice 1" -msgstr "" - -#: src/cogs/poll/__init__.py:148 -msgid "Yes, totally!" -msgstr "" - -#: src/cogs/poll/__init__.py:152 -msgid "Choice 2" -msgstr "" - -#: src/cogs/poll/__init__.py:153 -msgid "Absolutely!" -msgstr "" - -#: src/cogs/poll/__init__.py:157 -msgid "Choice 3" -msgstr "" - -#: src/cogs/poll/__init__.py:158 -msgid "Of course!" -msgstr "" - -#: src/cogs/poll/display.py:78 -msgid "Poll created by {}" -msgstr "" - -#: src/cogs/poll/display.py:88 -msgid "Poll closed.\n" -msgstr "" - -#: src/cogs/poll/display.py:90 -msgid "No end date.\n" -msgstr "" - -#: src/cogs/poll/display.py:91 -msgid "Poll ends \n" -msgstr "" - -#: src/cogs/poll/display.py:112 -msgid "Yes!" -msgstr "" - -#: src/cogs/poll/display.py:112 -msgid "No!" -msgstr "" - -#: src/cogs/poll/edit.py:25 -msgid "Select what you want to edit." -msgstr "" - -#: src/cogs/poll/edit.py:58 src/cogs/poll/edit.py:499 -msgid "Reset" -msgstr "" - -#: src/cogs/poll/edit.py:59 -msgid "Save" -msgstr "" - -#: src/cogs/poll/edit.py:66 -msgid "The results are {}." -msgstr "" - -#: src/cogs/poll/edit.py:66 -msgid "public" -msgstr "" - -#: src/cogs/poll/edit.py:66 -msgid "private" -msgstr "" - -#: src/cogs/poll/edit.py:69 -msgid "Users {} change their answer once voted." -msgstr "" - -#: src/cogs/poll/edit.py:70 -msgid "can" -msgstr "" - -#: src/cogs/poll/edit.py:70 -msgid "can't" -msgstr "" - -#: src/cogs/poll/edit.py:83 -msgid "Reopen poll" -msgstr "" - -#: src/cogs/poll/edit.py:86 -msgid "Close poll" -msgstr "" - -#: src/cogs/poll/edit.py:158 -msgid "The poll has been updated while you were voting." -msgstr "" - -#: src/cogs/poll/edit.py:182 -msgid "Edit title and description" -msgstr "" - -#: src/cogs/poll/edit.py:218 -msgid "Edit ending time" -msgstr "" - -#: src/cogs/poll/edit.py:219 -msgid "Set a poll duration, it will be closed automatically." -msgstr "" - -#: src/cogs/poll/edit.py:226 -msgid "Select the number of days." -msgstr "" - -#: src/cogs/poll/edit.py:227 -msgid "Select the number of hours." -msgstr "" - -#: src/cogs/poll/edit.py:228 -msgid "Select the number of minutes." -msgstr "" - -#: src/cogs/poll/edit.py:230 src/cogs/poll/edit.py:326 -#: src/cogs/poll/edit.py:388 src/cogs/poll/edit.py:432 -#: src/cogs/poll/edit.py:471 -msgid "Back" -msgstr "" - -#: src/cogs/poll/edit.py:232 -msgid "{} day(s)" -msgstr "" - -#: src/cogs/poll/edit.py:233 -msgid "{} hour(s)" -msgstr "" - -#: src/cogs/poll/edit.py:235 -msgid "{} minute(s)" -msgstr "" - -#: src/cogs/poll/edit.py:316 -msgid "Edit choices" -msgstr "" - -#: src/cogs/poll/edit.py:317 -msgid "Add and removes choices for multiple choices polls." -msgstr "" - -#: src/cogs/poll/edit.py:324 -msgid "Add a choice" -msgstr "" - -#: src/cogs/poll/edit.py:325 -msgid "Remove a choice" -msgstr "" - -#: src/cogs/poll/edit.py:360 -msgid "Add a new choice" -msgstr "" - -#: src/cogs/poll/edit.py:365 -msgid "Choice" -msgstr "" - -#: src/cogs/poll/edit.py:366 -msgid "Enter a new choice here." -msgstr "" - -#: src/cogs/poll/edit.py:390 -msgid "Select the choices you want to remove." -msgstr "" - -#: src/cogs/poll/edit.py:423 -msgid "Edit max choices" -msgstr "" - -#: src/cogs/poll/edit.py:424 -msgid "Set the maximum of simultaneous values users can choose." -msgstr "" - -#: src/cogs/poll/edit.py:434 -msgid "Select the maximum number of choices." -msgstr "" - -#: src/cogs/poll/edit.py:462 -msgid "Edit allowed roles" -msgstr "" - -#: src/cogs/poll/edit.py:463 -msgid "Only users with one of these role can vote." -msgstr "" - -#: src/cogs/poll/edit.py:472 -msgid "Select the roles that can vote." -msgstr "" - -#: src/cogs/poll/edit.py:506 -msgid "" -"This operation cannot be undone. By clicking on the \"RESET\" button, all" -" the votes will be deleted." -msgstr "" - -#: src/cogs/poll/vote_menus.py:39 -msgid "Vote" -msgstr "" - -#: src/cogs/poll/vote_menus.py:53 -msgid "Sorry, this poll seems not to exist. Please contact an admin." -msgstr "" - -#: src/cogs/poll/vote_menus.py:62 -msgid "Sorry, this poll is closed, you can't vote anymore!" -msgstr "" - -#: src/cogs/poll/vote_menus.py:70 -msgid "Sorry, this poll is over, you can't vote anymore!" -msgstr "" - -#: src/cogs/poll/vote_menus.py:77 -msgid "Sorry, you need one of the following roles to vote :" -msgstr "" - -#: src/cogs/poll/vote_menus.py:153 -msgid "Remove vote" -msgstr "" - -#: src/cogs/poll/vote_menus.py:154 -msgid "Validate" -msgstr "" - -#: src/cogs/poll/vote_menus.py:193 src/cogs/poll/vote_menus.py:252 -msgid "Your vote has been removed." -msgstr "" - -#: src/cogs/poll/vote_menus.py:214 src/cogs/poll/vote_menus.py:244 -msgid "Your vote has been taken into account!" -msgstr "" - -#: src/cogs/poll/vote_menus.py:221 -msgid "Yes" -msgstr "" - -#: src/cogs/poll/vote_menus.py:222 -msgid "No" -msgstr "" - -#: src/cogs/translate/__init__.py:165 -msgid "Translate" -msgstr "" - -#: src/cogs/translate/__init__.py:169 -msgid "Translate a message based on your discord settings." -msgstr "" - -#: src/cogs/translate/__init__.py:181 -msgid "translate" -msgstr "" - -#: src/cogs/translate/__init__.py:182 -msgid "Translate text in a selection of languages." -msgstr "" - -#: src/cogs/translate/__init__.py:189 -msgid "The language you provided is not supported." -msgstr "" - -#: src/cogs/translate/__init__.py:232 -msgid "Translate text in the language corresponding on the flag you add." -msgstr "" - -#: src/cogs/translate/__init__.py:254 -msgid "The language you asked for is not supported." -msgstr "" - -#: src/cogs/translate/__init__.py:285 -msgid "Your locale is not supported." -msgstr "" - -#: src/cogs/translate/__init__.py:312 -msgid "Vote for the bot" -msgstr "" - -#: src/cogs/translate/__init__.py:319 -msgid "" -"You have reached the maximum number of translations per day.Vote for the " -"bot to remove this limit !" -msgstr "" - -#: src/cogs/translate/__init__.py:360 -msgid "Translate from {from_} to {to}" -msgstr "" - -#: src/core/error_handler.py:50 -msgid "Support server" -msgstr "" - -#: src/core/error_handler.py:64 -msgid "" -"This command is already executed the max amount of times. (Max: " -"{error.rate})" -msgstr "" - -#: src/core/error_handler.py:67 -msgid "This command needs some conditions you don't meet." -msgstr "" - -#: src/core/error_handler.py:70 -msgid "You provided a bad argument." -msgstr "" - -#: src/core/error_handler.py:73 -msgid "" -"The bot is missing some permissions.\n" -"`{}`" -msgstr "" - -#: src/core/error_handler.py:77 -msgid "" -"It looks like the bot has been added incorrectly. Please ask an admin to " -"re-add the bot." -msgstr "" - -#: src/core/error_handler.py:80 -msgid "This command cannot be used in DMs." -msgstr "" - -#: src/core/error_handler.py:83 -msgid "" -"An unhandled error happened.\n" -"Please ask on the support server!" -msgstr "" -