Rules for translations
======================

 1. If the source message contains colons, the translation must also contain colons
 2. The number of colons in the translation must equal the number in the source
 3. If the source message contains colons, the translation must end with a colon (like the source)
 4. If the source message contains no colons, the translation must also not contain any colons
 5. If the source message consists of 1 UTF8 code point, the translation must also consist of 1 UTF8 code point
 6. The language files may never contain duplicate messsage or translations
 7. Two source messages may never result in the same translation
 8. A source message can only be translated with one translation, not multiple translations
 9. The order of source messages must remain the same
10. The keys of the translated messages must match the keys of the source messages exactly
11. If the source message contains multiple colons, the meaning of the order must remain the same in the translation
12. If the source is a class-like object (i.e. you can send new), it begins with an uppercase letter, that must be true for the translation, provided the target language has similar casing
13. Math symbols often remain the same
14. Non-ASCII messages that have notes indicating a default ASCII equivalent is provided by default don't need to be translated to ASCII
15. Source and translation strings are UTF-8 and may contain any valid UTF-8 symbol except spaces, control characters and other reserved characters
16. Section C must be translated in such a way that it can be interpreted according to the rules in section A
17. Section D should not be translated unless the target language uses different math symbols
18. Section E cannot be translated in the current version due to software restrictions