GitHub
YouTube Channel

Translate Chatty to main page

Parts of Chatty can be translated into different languages, and you can help!

Getting started

Join the localization project and tell me the account name you used so I can approve it. The best way is via #localization on Discord, but you can also send a mail. If the language you want to work on hasn't been added yet, tell me.

Remember that you can also join languages that have already been completely translated, since future Chatty updates will likely also require more or updated translations. This is especially true now, since still not all GUI parts have been added for localization yet.

Note that not everything can be translated yet, and the help pages probably won't be at all, since it would be too much work to keep updated. My goal for now is to make the basic functions of the program more comfortable to use for people who don't speak English as their first language.

Translation Guidelines

Questions / Discussion

Replacements

Something like {0} in a string means it is replaced with the number 0 parameter. It should say in a comment what it gets replaced with (although most of the time it's clear from context already).

Example: Join #{0}
When {0} is joshimuz turns into Join #joshimuz

Replacements use the MessageFormat class. Mostly it's enough to just stick close to the template.

Important: Any single quote (') in a string that contains a replacement needs to be escaped with a single quote (e.g. Can''t join ''{0}'').

Choice

The more advanced {0,choice,<choices>} pattern is used to decide between two strings depending on the value in the number 0 parameter. This is commonly used to decide between a singular and plural form.

Example: Join {0,choice,1#channel|1<{0} channels}
  • 1# means "exactly 1" (in which case it chooses channel
  • 1< means "more than 1" in which case it chooses {0} channels (where the {0} is replaced as well)
When {0} is 1 turns into Join channel
When {0} is 2 turns into Join 2 channels
When {0} is 30 turns into Join 30 channels
Example: {0} {0,choice,1#Hour|1<Hours}
When {0} is 1 turns into 1 Hour
When {0} is 2 turns into 2 Hours

After Translation

Translations are commited to the repository by myself, since the files have to be converted into the format I want (e.g. proper structure and order of items). The process is mostly automated.

Note: The names of contributors to each language (as registered on POEditor) are added to the top of the language file. If you want to be excluded from that or want to appear with a different name, let me know.

Other

Changes of the original English strings have to be done via GitHub (the normal way via Pull Requests).