Skip to content

Localisation and Language Use

Reverend edited this page Jan 10, 2024 · 1 revision

Localisation

  • 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.

Language Use

  • 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.