๐ Multilanguage support for Lavamusic ๐ถ โ
Help us bring Lavamusic to the world!
We use i18next with a categorized folder structure to manage translations.
๐ How to add a new language โ
- ๐ Find the code
Identify the ISO language code supported by Discord (e.g.,en-US,es-ES,fr). You can find the list here. - ๐ Create directory
Create a new folder inlocales/with your language code (e.g.,locales/fr/). - ๐ Copy source
Copy all.jsonfiles fromlocales/en-US/into your new folder. - ๐ Translate
Translate the strings in the JSON files to the desired language.
๐ Directory structure โ
Your file structure should look like this:
text
locales/
โโโ en-US/ (Source Language)
โ โโโ commands.json (Command names and descriptions)
โ โโโ common.json (UI buttons, generic errors, status)
โ โโโ dev.json (Developer tools)
โ โโโ events.json (Event messages)
โ โโโ player.json (Music player responses)
โโโ es-ES/ (Your New Language)
โ โโโ commands.json
โ โโโ common.json
โ โโโ ...๐ Available translations โ
Status
โ
Available
โ Unavailable
๐ค AI Translation
| Language | Code | Status | Contributors |
|---|---|---|---|
| ๐บ๐ธ English (US) | en-US | โ | - |
| ๐ง๐ฌ Bulgarian | bg | ๐ค | @Appujet |
| ๐จ๐ณ Chinese (CN) | zh-CN | ๐ค | @appujet |
| ๐น๐ผ Chinese (TW) | zh-TW | โ | @apple050620312 |
| ๐ญ๐ท Croatian | hr | ๐ค | @Appujet |
| ๐จ๐ฟ Czech | cs | ๐ค | @Appujet |
| ๐ฉ๐ฐ Danish | da | ๐ค | @Appujet |
| ๐ณ๐ฑ Dutch | nl | โ | @Appujet |
| ๐ฌ๐ง English (GB) | en-GB | โ | @Appujet |
| ๐ซ๐ฎ Finnish | fi | ๐ค | @Appujet |
| ๐ซ๐ท French | fr | โ | @LucasB25 |
| ๐ฉ๐ช German | de | โ | @LucasB25 |
| ๐ฌ๐ท Greek | el | ๐ค | @Appujet |
| ๐ฎ๐ณ Hindi | hi | ๐ค | @Appujet |
| ๐ญ๐บ Hungarian | hu | ๐ค | @Appujet |
| ๐ฎ๐ฉ Indonesian | id | โ | @iaMJ |
| ๐ฎ๐น Italian | it | โ | @lori28167 |
| ๐ฏ๐ต Japanese | ja | โ | @hatry4 |
| ๐ฐ๐ท Korean | ko | โ | @hwangsihu |
| ๐ฑ๐น Lithuanian | lt | ๐ค | @Appujet |
| ๐ณ๐ด Norwegian | no | ๐ค | @appujet |
| ๐ต๐ฑ Polish | pl | โ | @InfNibor, @LucasB25 |
| ๐ง๐ท Portuguese (BR) | pt-BR | โ | @AndreAugustoDev |
| ๐ต๐น Portuguese (PT) | pt-PT | โ | @LucasB25 |
| ๐ท๐ด Romanian | ro | ๐ค | @Appujet |
| ๐ท๐บ Russian | ru | โ | @LucasB25 |
| ๐ช๐ธ Spanish (ES) | es-ES | โ | @LucasB25 |
| ๐ธ๐ช Swedish | sv-SE | ๐ค | @Appujet |
| ๐น๐ญ Thai | th | โ | @fexncns |
| ๐น๐ท Turkish | tr | โ | @IlkayAksoy |
| ๐บ๐ฆ Ukrainian | uk | ๐ค | @Appujet |
| ๐ป๐ณ Vietnamese | vi | ๐ค | @nhutlamm |
๐ Translation Guidelines โ
- Do not change the key names in the translation JSON file.
- Do not change the structure of the translation JSON file.
- Do not remove the
{}tags from the strings. - Do not add any new keys to the translation JSON file.
Example โ
Source (en-US/commands.json):
json
{
"ping": {
"description": "Shows the bot's latency.",
"content": "Pinging...",
"requested_by": "Requested by {author}"
}
}Target (hi/commands.json):
json
{
"ping": {
"description": "เคฌเฅเค เคเคพ เคชเคฟเคเค เคฆเคฟเคเคพเคคเคพ เคนเฅเฅค",
"content": "เคชเคฟเคเคเคฟเคเค...",
"requested_by": "{author} เคฆเฅเคตเคพเคฐเคพ เค
เคจเฅเคฐเฅเคงเคฟเคค"
}
}๐ท๏ธ Formatting tags for i18next โ
To ensure {} are not removed during translations, use the format tags: ["{", "}"].
๐ Have a Language to Contribute? โ
- Fork the repository.
- Duplicate
locales/en-USand rename the folder to your language code. - Translate the files.
- Create a Pull Request!
