Skip to content

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:

English Chinese (中文) Croatian (Hrvatski)
Czech (Čeština) Danish (Dansk) Dutch (Nederlands)
Finnish (Suomi) French (Français) German (Deutsch)
Hindi (हिन्दी) Italian (Italiano) Japanese (日本語)
Korean (한국어) Lithuanian (Lietuvių) Norwegian (Norsk)
Polish (Polski) Romanian (Română) Russian (Русский)
Spanish (Español) Swedish (Svenska) Thai (ไทย)
Turkish (Türkçe) Ukrainian (Українська) Vietnamese (Tiếng Việt)
Portuguese (Português do Brasil)
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?

  1. You should have a strong understanding (1) of both English and the language you're translating into.
  2. Head on over to our translation portal. You should automatically be asked to sign in with Discord.
  3. Select the language you want to translate.
  4. 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).
  1. Ideally, your language knowledge should be CEFR B2 or ILR 3 or higher.

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

A screenshot showing the layout of the translation portal. The context key and the string in English are visible.

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


A screenshot showing an example of a string containing an empty placeholder.

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

A screenshot showing an example of a string containing a new-line character.

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.

A screenshot showing an example of a string containing prepended spaces.

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...:
So for this string, you should try to follow the intended format of the output as closely as possible. You don't need to include the same number of spaces in the translated string - just ensure that the colons will be aligned.

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.

A screenshot showing an example of a command name to be translated.

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.