Translating SimLOD#
SimLOD 1.2 ships 117 English keys for Visitor Relay, Survey Relay, the native recovery window and the provider starter, including pause/resume actions and status. It also supplies English DefInjected/ThingDef files for the two relay labels and descriptions. These use RimWorld's language loader; no translation framework is required. English is the only distributed translation in this release.
Copy the relevant package's Languages/English contents to Languages/<RimWorld language folder>. Translate values while keeping XML element names, folder structure and named placeholders such as {STATUS}, {REPORTS} and {POINTS} unchanged. Write whole sentences in the order appropriate for the target language. Use literal \n for intended line breaks and XML escaping for & and <. Preserve placeholder multiplicity and meaning; do not translate or invent placeholder names. Incomplete translations can omit keys and fall back to English.
| Package | Sources |
|---|---|
| Framework | Native recovery text and status labels |
| Visitor Relay | Controls and contact guidance, building fields |
| Survey Relay | Controls and survey guidance, building fields |
| Starter | Standalone clock text |
Keep provider IDs, enum values, request/settlement keys, payloads, Def names, package IDs and Scribe field names invariant. The UI translates enum labels at display time. Native object names use the game's own labels. Raw API failures, owner/pin/effect details, Describe() output, logs and attribute-based developer-action names remain technical English. External providers can supply their own diagnostics. A previously saved problem message can retain the language used when it was recorded; state decisions never depend on that text.
Run python tools/verify-localization.py --negative-control from the repository root. It checks missing/duplicate English keys, translated placeholders, call arguments, status-label coverage and Def injection targets. The package verifier checks that staged language files match the source. The starter's text is self-contained so it can also use the published 1.0 DLL.
Use a disposable profile to inspect the two paused relay windows and the developer recovery window in the target language. Their body text scrolls; relay and recovery action rows grow with label height. Check long names, narrow windows, provider absence and an interrupted visit. The native colony fixture's -PseudoLocalization option creates expanded English text in a temporary SimLODTest language folder, deliberately omits one key to verify fallback, and captures all three windows. Those test strings are never distributed and are not a real translation.
Submit language files with a note naming the game version, locale and windows you checked. Follow CONTRIBUTING and retain the MIT notice. Native layout checks help find clipping, but fluent human review is still needed for a real translation.