This handbook defines the phase-72 localization operating process for
TODOS.phase-72.72.11.2.15. It ties the individual localization feature docs
into one release workflow that production, vendor management, localization QA,
audio, UI, and release engineering can verify.
Source Of Truth#
The authoritative source locale is en-US. Launch locale coverage comes from
V2/ue/Content/Localization/V2/LocalizationVoiceOverPipeline_V2_Contract.json
and includes en-US, en-GB, fr-FR, fr-CA, es-ES, es-419, pt-BR,
pt-PT, de-DE, it-IT, pl-PL, ru-RU, tr-TR, ar, he, ja-JP,
ko-KR, zh-Hans, zh-Hant, th-TH, vi-VN, and id-ID.
Source text, context, and release handoff are governed by these docs and artifacts:
V2/docs/localization/string-id-system.mdV2/docs/localization/translation-file-format.mdV2/docs/localization/context-screenshots.mdV2/docs/localization/translation-management-platform.mdV2/docs/localization/translation-memory-integration.mdV2/docs/localization/continuous-localization-ci.mdV2/ue/Content/Localization/V2/StringTables/StringIdRegistry_V2.jsonV2/ue/Content/Localization/V2/Extracted/StringExtractionCatalog_V2.jsonV2/ue/Content/Localization/V2/Schemas/V2TranslationFileFormat.schema.jsonV2/ue/Content/Localization/V2/Translations/en-US.v2loc.json
End-To-End Workflow#
Every localized release follows this ordered workflow:
- Source-string authoring assigns stable string IDs, text roles, occurrence
paths, named variables, and
maxCharacterLengthbudgets. - String-id review blocks duplicate IDs, unstable copy keys, missing context, and UI strings without a screenshot reference.
- String extraction refreshes
V2/ue/Content/Localization/V2/Extracted/StringExtractionCatalog_V2.json. - TMS source push sends provider payloads with
tmsAlias,contextDescription,screenshotReference,textRole, variables, and deterministic content hashes. - Translation-memory pretranslation applies exact and fuzzy memory matches before new vendor work starts.
- Vendor translation and review complete in the selected provider, with glossary, linguistic review, cultural review, and brand review required.
- Pull translations imports provider-approved strings into
.v2loc.jsonfiles without replacing source metadata. - Automated QA runs untranslated-string, temporary-build-text, encoding-error, broken-variable, string-length, pseudo-localization, CJK, RTL, and fallback checks.
- Localized asset build packages the approved translations and generated VO, subtitle, lip-sync, and TTS fallback assets.
- Locale screenshot pass runs localization testing mode across every launch locale and localized screen.
- Release signoff records the commit SHA, provider export ID, QA reports, screenshot bundle, unresolved waivers, and approvers.
Vendor Integration#
Phrase is the selected provider in
V2/ue/Content/Localization/V2/TMS/TranslationManagementPlatform_V2.json.
Crowdin and Lokalise endpoints are configured as provider adapters, while the
broader workflow vendor roster tracked in the voice-over pipeline remains
Crowdin, Smartling, Lokalise, and Wordbee for production scheduling.
Vendor handoff rules:
- Credentials are referenced only by environment variable names such as
V2_PHRASE_API_TOKEN,V2_CROWDIN_API_TOKEN, andV2_LOKALISE_API_TOKEN. Raw tokens must never be committed, logged, or copied into vendor payloads. V2/ue/Content/Localization/V2/TMS/SourcePushPayload_V2.jsonis the source push artifact. It preservesid,tmsAlias,contextDescription,maxCharacterLength,screenshotReference,textRole,variables, andoccurrencePaths.V2/ue/Content/Localization/V2/Screenshots/ContextScreenshotUploadPayload_V2.jsoncarries translator screenshots so vendors can see the UI state for each string.V2/ue/Content/Localization/V2/TMS/PhrasePull_fr-FR_V2.jsonis the tracked provider pull fixture, andV2/ue/Content/Localization/V2/Translations/fr-FR.v2loc.jsonis the canonical pulled locale output.- VO vendor handoff uses
V2/docs/localization/voice-over-recording-script-export.md,V2/docs/localization/voice-over-asset-management.md, andV2/ue/Content/Localization/V2/VoiceOver/RecordingScripts/VoiceOverRecordingScriptExport_V2.json.
QA Process#
Localization QA has three required layers.
Automated content QA runs V2/ue/Tools/check-v2-translation-qa-automation.py
and blocks untranslated-string, temporary-build-text, encoding-error, and
broken-variable issues from
V2/ue/Content/Localization/V2/QA/TranslationQAConfig_V2.json.
Layout and runtime QA runs string-length validation, pseudo-localization, locale
fallback, locale-specific formatting, RTL text rendering, RTL UI mirroring, CJK
font coverage, CJK text layout, CJK text density, and locale selection UI
checks. UI screenshots are produced by
V2/docs/localization/localization-testing-mode.md and must cover every launch
locale and every localized screen in
V2/ue/Content/Localization/V2/Testing/LocalizationTestingModePlan_V2.json.
Audio and accessibility QA runs voice-over asset management, recording script export, VO integration, per-locale lip-sync, subtitle timing from VO, and text-to-speech fallback checks. Subtitle-only launch locales must keep the tracked VO patch plan visible in dashboard and release evidence.
QA source docs and artifacts:
V2/docs/localization/translation-qa-automation.mdV2/docs/localization/string-length-validation.mdV2/docs/localization/pseudo-localization.mdV2/docs/localization/localization-status-dashboard.mdV2/docs/localization/rtl-text-rendering.mdV2/docs/localization/rtl-ui-mirroring.mdV2/docs/localization/cjk-font-coverage.mdV2/docs/localization/cjk-text-layout.mdV2/docs/localization/cjk-text-density.mdV2/docs/localization/voice-over-integration-pipeline.mdV2/docs/localization/voice-over-lip-sync-per-locale.mdV2/docs/localization/subtitle-timing-from-voice-over.mdV2/docs/localization/tts-fallback-for-missing-vo.mdV2/ue/Content/Localization/V2/QA/TranslationQAReport_V2.jsonV2/ue/Content/Localization/V2/Length/StringLengthValidationReport_V2.json
Manual QA requires native-speaker review for each launch locale, with dedicated passes for glossary adherence, tone, cultural sensitivity, UI truncation, RTL focus order, CJK line breaking, subtitle timing, VO sync, and region-variant copy. Waivers must name the string ID, locale, owner, risk, expiration, and release approver.
Live Ops And Hotfixes#
Battle Pass, daily challenges, news feed, cosmetic shop, moderation announcements, and emergency hotfix copy follow the same workflow as launch content. Emergency hotfix and moderation announcements have a 24-hour localization SLA, and any locale missing the SLA must ship with an explicit release waiver and fallback behavior.
Live-ops changes must rerun extraction, source push, translation pull, translation QA, string-length validation, status dashboard generation, and the targeted screenshot pass for changed screens. Player-facing copy cannot bypass vendor review unless the release manager records the incident ID and fallback locale.
Ownership And Signoff#
Production owns source schedule, string freeze, waiver approval, and provider export IDs. Localization engineering owns extraction, TMS sync, deterministic artifacts, CI wiring, and localized asset build. Localization QA owns automated QA results, native-speaker review, screenshots, and release evidence. Audio owns VO recording scripts, asset naming, lip-sync, subtitle timing, and TTS fallback coverage. Release engineering owns final gate status and archive retention.
Signoff requires a green localization dashboard, zero blocking QA violations, complete screenshot coverage, provider-approved translations, VO and subtitle coverage for the locale tier, and documented waivers for any nonblocking gaps.
Release Gates And Evidence#
Required evidence for each release candidate:
- Git SHA and branch.
- Provider project, locale export IDs, and timestamp.
- Source push payload and pulled translation fixture.
- Translation memory report and fuzzy-match review summary.
- Translation QA report, string-length report, pseudo-localization report, CJK reports, RTL reports, and locale fallback matrix.
- Localization status dashboard export.
- Localization testing mode screenshot bundle.
- VO asset coverage, recording script export report, lip-sync report, subtitle timing report, and TTS fallback report.
- Native-speaker review notes, waiver register, and final approvers.
Required gates:
localization-documentation-contractlocalization-documentation-workflowlocalization-documentation-vendor-integrationlocalization-documentation-qa-processlocalization-documentation-release-evidencelocalization-documentation-ci-wired
Verification#
Run these checks after changing localization process docs, vendor config, QA policy, generated reports, CI wiring, or Horde gates:
python3 V2/ue/Tools/check-v2-localization-documentation.py
python3 V2/ue/Tools/check-v2-translation-management-platform.py
python3 V2/ue/Tools/check-v2-translation-qa-automation.py
python3 V2/ue/Tools/check-v2-continuous-localization-ci.py
python3 V2/ue/Tools/check-v2-localization-testing-mode.py
python3 V2/ue/Tools/check-v2-localization-voice-over.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 V2/tools/validate-v2-docs.py