Translating nMarkov
This section is only for translators!
nMarkov will already attempt to generate messages in whatever language you teach him, without any additional configuration needed.
This section discusses translating nMarkov's command names, descriptions, and responses into different languages. If you're interested in helping to translate nMarkov, read on!
What languages does nMarkov support?
nMarkov's command names, descriptions and responses can be translated into the following languages:
Can nMarkov support other languages?
Technically, yes, but due to a Discord limitation with how many languages the bot can display, we can't add any more languages at this time. If you'd like to see a language added, please let us know in the support server so we know you're interested.
How do I get started with translating nMarkov?
- You should have a strong understanding (1) of both English and the language you're translating into.
- Head on over to our translation portal. You should automatically be asked to sign in with Discord.
- Select the language you want to translate.
- Click on either 'All strings' (if you want to look for improvements to make), or 'Unfinished strings' (to translate any that haven't been translated yet).
Translating strings
When translating strings, you'll be able to see the English string and the context key.
The English string is the string you need to translate, and the context string should help to give you an indication of where and when the string is used in the bot.
Placeholders
In the screenshot, you can see that {option_name}
is highlighted. This is a placeholder that will be replaced with a value when the bot sends the message. Placeholders should be inserted as-is into the most appropriate location in the translated string - do not change the name of the placeholder.
Continuing with this example, if we were to translate the string into Spanish, we would write:
{option_name}: verdadero/falso
In this string, the placeholder is empty - but it is still highlighted. You should still include the placeholder in the translated string, even if it is empty.
Spaces and new-lines
In this string, you can see newline characters ⤶ at the end of each line. These characters represent a new line in the message. When translating strings with new-line characters, you should always try include them in the translated string.
In this string, you can see that there are spaces at the beginning of the string, represented by the · icon. It can be a bit tricky to handle strings with prepended spaces.
In the example above, the resulting string aims to output each line in a way that the colons on each line are aligned, like this:
All time:
1 year: <--- all of the colons
30 days: <--- are aligned
7 days: <--- with each other
etc...:
If you're not sure on how best to handle strings like this, please don't hesitate to ask for help in the support server.
Command names, options, and descriptions
Discord has their own restrictions on command strings
Discord has a limit of 32 characters on command names and options, and all characters must be lowercase.
There is a limit of 100 characters on command descriptions.
When translating command strings, you should aim to keep the translated string as close to the original as possible, both in length and meaning. The translation should be as clear and concise as possible, without using any acronyms or abbreviations, where possible. If you aren't sure on the best possible translation, please don't hesitate to ask for help in the support server.
Command strings are reviewed with more scrutiny
Command strings are reviewed with more scrutiny than other strings, as they are the most visible part of the bot. What you translate has a direct effect and appearence on a user's Discord client. Intentional mistranslations will result in your ability to use the bot being revoked.