Internationalization for Pycord
Project description
pycord-i18n
Internationalization for Pycord
Key Features
- Translated responses
- Command name, description & option localization
- Based on user & server locale (no need for storage!)
Installation
To install this extension, run the corresponding command:
# linux / macOS
python3 -m pip install pycord-i18n
# windows
python -m pip install pycord-i18n
Usage
-
Setup your internationalization files just like sample-german.json. Note that all fields are optional and you can use whichever file format you want as long as you pass the translations into I18n in the given format.
-
Load your files:
import json
with open("sample-german.json", "r") as f:
german = json.load(f)
...
- Create an I18n object:
from pycord.i18n import I18n, _
i18n = I18n(bot, de=german)
# de is the locale code for German
# response translations will be based on the guild's locale, you can make the bot consider the user's locale too by using the following:
i18n = I18n(bot, consider_user_locale=True, de=german)
# all valid locales: da, de, en_GB, en_US, es_ES, fr, hr, it, lt, hu, nl, no, pl, pt_BR, ro, fi, sv_SE, vi, tr, cs, el, bg, ru, uk, hi, th, zh_CN, ja, zh_TW, ko
- Internationalize your commands:
@i18n.localize # command name and description localization
@bot.slash_command()
async def hello(ctx):
await ctx.respond(_("Hello, this sentence is in English"))
# "_()" does the translation
# if you don't want to use `@localize` on every command, simply use the following method after adding the commands to the bot:
i18n.localize_commands()
Changelog
v1.2.1
- Fixed an issue with Pycord v2.5 compatibility
v1.2.0
- Added formatting support
v1.1.0
- Added option localization support
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pycord-i18n-1.2.1.tar.gz
(4.9 kB
view hashes)
Built Distribution
Close
Hashes for pycord_i18n-1.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e561b26d6a08e4d90a8bf20c2ca287ffa28353b7c44f9827d975847cc71c55f |
|
MD5 | c9ddd86e9cd4cccbf5a4170b0d34be7b |
|
BLAKE2b-256 | 03faab5214a99e41be9ebbda442d706d5e80cadfaf948694718f56b53e4cac23 |