This document defines gendered text support for TODOS.phase-72.72.11.1.7.
Gendered text selects masculine, feminine, or neutral forms based on the active
player character or NPC context.
Data Files#
Gender selector rules live in
V2/ue/Content/Localization/V2/Gender/GenderRules_V2.json. Gendered string
forms live in V2/ue/Content/Localization/V2/Gender/GenderedStrings_V2.json.
Player character and NPC sample contexts live in
V2/ue/Content/Localization/V2/Gender/GenderContextSamples_V2.json.
The sample string is loc.dialogue.partner.status_ready.body. It uses
{actor_name} and the selector actorGender.
Selection Rules#
Supported gender forms are:
masculinefeminineneutral
If a runtime context provides an unsupported or missing gender, the formatter
falls back to neutral. The tracked sample includes npc.mystery with
unspecified gender to prove this fallback path.
Evaluation#
V2/ue/Tools/evaluate-v2-gendered-text.py writes the deterministic evaluation
matrix to V2/ue/Content/Localization/V2/Gender/GenderedTextEvaluation_V2.json.
The expected selections are:
npc.blacksmith: masculine form.npc.scout: feminine form.player.custom_neutral: neutral form.npc.mystery: neutral fallback form.
Verification#
Run this gate after changing rules, forms, contexts, evaluator logic, generated evaluation output, docs, or CI wiring:
python3 V2/ue/Tools/check-v2-gendered-text.py
Required release gates:
localization-gendered-text-contractlocalization-gendered-text-masculine-formlocalization-gendered-text-feminine-formlocalization-gendered-text-neutral-formlocalization-gendered-text-fallbacklocalization-gendered-text-ci-wired