Skip to main content

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

  1. 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.

  2. Load your files:

import json

with open("sample-german.json", "r") as f:
    german = json.load(f)
...
  1. 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
  1. 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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pycord_i18n-1.2.1-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file pycord-i18n-1.2.1.tar.gz.

File metadata

  • Download URL: pycord-i18n-1.2.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for pycord-i18n-1.2.1.tar.gz
Algorithm Hash digest
SHA256 3d2f5d2d53421d8efb00021ec6c27546aa7b243a8451159d6bb89c368739b9c7
MD5 3864dd61253af2fabc75e6dd1e97df4a
BLAKE2b-256 9e91fb127364195cf7365ebf82f0d4223adee5c40ca69e92266ad72629406692

See more details on using hashes here.

File details

Details for the file pycord_i18n-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: pycord_i18n-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.13

File hashes

Hashes for pycord_i18n-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e561b26d6a08e4d90a8bf20c2ca287ffa28353b7c44f9827d975847cc71c55f
MD5 c9ddd86e9cd4cccbf5a4170b0d34be7b
BLAKE2b-256 03faab5214a99e41be9ebbda442d706d5e80cadfaf948694718f56b53e4cac23

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page