-
Notifications
You must be signed in to change notification settings - Fork 261
Localisation and Language Use
Reverend edited this page Jan 10, 2024
·
1 revision
- All user-facing strings must be localised or offer a translatable description.
- Try to re-use existing translation keys or create translation keys that can be re-used.
- Create a context comment with each key-value pair. This allows translators to understand how the translated text is being used, e.g.
# The type of line used to draw the grid, i.e. solid, dotted, dashed, etc.
grid.draw.lineType.label = Line type
# Error message - 0 = function name, 1 = parameter index
parser.error.invalidParam = Error in {{0}}. Incorrect parameter type at index {{1}}.
- Where you create/change a UI element - take a screenshot of it. The screenshot can be added to the translation website showing translators what they are translating.
- Use proper language and words, i.e. avoid jargon, made-up words, and bad spelling.
- Imagine a non-programmer with poor English trying to explain it to someone with no English.
- Example: Pass-through is better than PASSTHRU.
- Words have meanings;
- Their meaning can change with context, and
- That meaning may be very specific, and
- The meaning is often different to what you think it is, and
- Game systems often get it wrong.
- Example: Cover vs. Concealment vs. Camouflage have specific meanings in military usage.
- Cover provides physical protection from harm, i.e. blocks bullets.
- Concealment provides protection from enemy senses but provides no physical protection. Think "hiding in a bush".
- Camouflage prevents detection whilst in plain sight.
- Using the right words will make it easier for translators and the coders who come after you.