Software & game localization
Localize strings, plurals and layouts and fix truncation in context.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
Previous class address: R10.07.01.02 · Original proposal IDs are retained.
- Typical applications
- Crowdin · Xcode strings · Unity Localization
- Class GUI-need label
HY· Hybrid
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R10.07.01.02-T01 Translate a Polish .po catalog with three plural forms in Poedit
Original instruction
Open locale/pl/LC_MESSAGES/app.po of the 'tasknote' web app in Poedit (macOS or Windows). Translate the 45 untranslated entries, including 9 plural entries that need all three Polish forms (1 plik, 2 pliki, 5 plików), keep %d and %(name)s placeholders and the meaning given by msgctxt, clear fuzzy flags you verified, and save so the .mo is compiled.
- Platforms
mac· macOSwin· Windows- Applications
- Poedit
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
type· Text & formskey· Shortcuts- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
msgfmt --check passes; 0 untranslated or fuzzy; each plural entry has 3 msgstr forms that render correct Polish for n=1,2,5,22,25 (gold lemma forms); placeholders identical; .mo newer than .po and consistent; chrF ≥50 vs reference.
Proposed partial credit
40% plural entries correct; 25% placeholders intact; 25% remaining entries translated (chrF); 10% compiled .mo
R10.07.01.02-T02 Clear placeholder and ICU QA issues on Spanish strings in Crowdin
Original instruction
In Crowdin project 'Ledgerly' (test organization) filter the Spanish (es-ES) translations by QA issues. Fix the placeholder mismatches ({count}, %1$s), broken ICU syntax and trailing-space issues in the 27 flagged strings without changing their meaning, then approve each fixed string as proofreader.
- Platforms
web· Any OS (web)- Applications
- Crowdin
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
type· Text & formsclick· Point & click- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
Grader API: es-ES QA issue count 0 for those checks; ICU messages parse; placeholder sets equal source; 27 strings approved by the agent's account; edits limited to the defect span (char diff ≤ defect + 5). Agent has no API token; grader reads state with its own.
Proposed partial credit
40% placeholders fixed; 30% ICU syntax valid; 10% whitespace; 20% strings approved
R10.07.01.02-T03 Fill missing Spanish strings in Android Studio's Translations Editor
Original instruction
In Android Studio open project fixtures/WeatherNow and the Translations Editor. Add the 22 missing es translations from fixtures/es_strings_vendor.xlsx, mark the 4 brand and format strings Untranslatable, and remove the 3 es entries whose keys no longer exist in values/strings.xml. The build must pass with lint MissingTranslation and ExtraTranslation at 0.
- Platforms
mac· macOSwin· Windows- Applications
- Android Studio
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & formsmulti· Cross-app- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
values-es/strings.xml has the 22 keys with vendor text and correct apostrophe escaping, 3 obsolete keys removed; translatable="false" on the 4 in values/strings.xml; gradlew lint shows 0 MissingTranslation/ExtraTranslation; assembleDebug succeeds.
Proposed partial credit
50% 22 strings added and escaped; 20% untranslatable flags; 15% obsolete keys removed; 15% lint and build pass
R10.07.01.02-T04 Add German and Japanese with plural and device variants in an Xcode String Catalog
Original instruction
In Xcode 16, the 'Pantry' iOS app uses Localizable.xcstrings. Add German and Japanese, translate the 38 strings from fixtures/pantry_l10n.xlsx, use Vary by Plural for '%lld items left' and '%lld days ago' (de one/other, ja other), add a Vary by Device variant 'Click to scan' on Mac for 'Tap to scan', mark all Reviewed and build.
- Platforms
mac· macOS- Applications
- Xcode
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Localizable.xcstrings: de/ja state translated for 38 keys; plural variations with the right CLDR categories and %lld kept; mac device variation present; build succeeds; UI test snapshots in de/ja render n=1 and n=5 correctly.
Proposed partial credit
40% 38 strings in both locales; 30% plural variants; 15% device variant; 15% build and snapshots
R10.07.01.02-T05 Disambiguate one-word UI strings with Crowdin screenshots and in-context view
Original instruction
In Crowdin project 'Shopfront' (test organization) translate the 60 French strings. Several keys are ambiguous single words (Save, Order, Close, Clear, Book). Use the tagged screenshots and the in-context preview to see where each appears, translate by sense (e.g. 'Order' as verb vs noun), and keep each string within its max-length limit.
- Platforms
web· Any OS (web)- Applications
- Crowdin
- Interfaces
brow· Browser- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
vis· Visual judgmentclick· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
14 ambiguous keys compared to gold sense-specific translations (exact or approved variants); 60/60 translated; 0 max-length violations; placeholders intact; chrF ≥55 on the rest. Senses are only recoverable from screenshots, not key names or comments. Agent has no API token; grader reads state with its own.
Proposed partial credit
50% ambiguous keys correct sense; 20% length limits; 30% remaining strings translated
R10.07.01.02-T06 Translate ICU plural and gender messages into Russian and Arabic in Lokalise
Original instruction
In Lokalise sandbox project 'Tripwise', 20 keys use ICU MessageFormat with plural and select (traveler gender). Translate them into Russian and Arabic with the full CLDR plural categories (ru one/few/many/other; ar zero/one/two/few/many/other), keeping variable names and select branches, and mark them Reviewed.
- Platforms
web· Any OS (web)- Applications
- Lokalise
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
type· Text & formsclick· Point & click- Work product
WP06· Code/engineering- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Grader export: every message parses with intl-messageformat; category sets match CLDR for ru/ar; variables identical; formatted output for n∈{0,1,2,3,11,100} × gender matches gold lemma forms; keys Reviewed; editor warnings 0.
Proposed partial credit
40% plural categories complete and correct; 25% select branches; 20% variables intact; 15% reviewed
R10.07.01.02-T07 Finish a German Qt Linguist file with numerus forms and length variants
Original instruction
Open translations/app_de.ts of the 'Fieldscope' Qt app in Qt Linguist. Translate the 55 unfinished messages, give both numerus forms for the 6 plural messages, and for the 8 width-limited labels in fixtures/label_widths.csv add a shorter length variant (Qt length-variant separator). Mark all finished and use Release to produce app_de.qm.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- Qt Linguist
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
type· Text & formskey· Shortcuts- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
lrelease reproduces app_de.qm; .ts has 0 unfinished; numerus entries have 2 forms; 8 length variants whose shortest fits the label width (QFontMetrics in a headless test); %1/%n intact; chrF ≥50.
Proposed partial credit
35% messages translated; 20% numerus forms; 30% length variants fit; 15% .qm released
R10.07.01.02-T08 Find and fix pseudolocalization overflow in Godot UI scenes
Original instruction
In the Godot 4.3 editor open project 'StarForge'. Enable pseudolocalization (expansion ratio 0.4, accents on), run the 5 menu scenes and find every Label or Button whose text clips or overflows. Fix them with autowrap, text overrun behavior or container size flags (font size not below 14), then disable pseudolocalization and save.
- Platforms
win· Windowsmac· macOSlin· Linux- Applications
- Godot
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
vis· Visual judgmentgeom· Precise geometryclick· Point & click- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Headless test loads each scene with pseudolocalization on at 1280×720 and 1920×1080: 0 controls whose text minimum size exceeds the rect unless overrun is set; fonts ≥14; scene diffs limited to the seeded nodes; pseudolocalization off in project.godot. The godot CLI/--script route is not on PATH, and a file-audit log detects .tscn or project.godot writes by any process other than the Godot editor.
Proposed partial credit
60% seeded overflowing controls fixed (proportional); 20% no regressions elsewhere; 10% font floor; 10% setting restored
R10.07.01.02-T09 Resolve failing checks for Ukrainian strings in Weblate
Original instruction
In the project's self-hosted Weblate, component 'android-app', Ukrainian: resolve all failing checks on the 34 flagged strings (format-string mismatches, missing plural forms one/few/many/other, mismatched trailing punctuation and newlines). Where a check is a false positive per the source-string comment, dismiss it instead of changing text. Then commit pending changes.
- Platforms
web· Any OS (web)- Applications
- Weblate
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
type· Text & formsclick· Point & click- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Weblate API (grader): failing-check count 0 for those types; plural strings have 4 forms; format specifiers equal source; the 3 seeded false positives dismissed with text unchanged; component repo has a new commit; lint on exported values-uk clean.
Proposed partial credit
40% format and plural fixes; 25% punctuation/newline fixes; 20% false positives dismissed; 15% committed
R10.07.01.02-T10 Import a vendor XLOC into Xcode and resolve review and stale states
Original instruction
In Xcode 16 for the 'Pantry' app import vendor catalog fixtures/fr.xcloc. Resolve the result: 6 strings arrive as Needs Review because the source changed—correct them and mark Reviewed; delete the 4 stale strings no longer in code; leave the 2 new strings untranslated. Then export a localization catalog for Italian to output/it.xcloc.
- Platforms
mac· macOS- Applications
- Xcode
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Localizable.xcstrings: fr values match the xcloc; the 6 keys translated with updated text; stale keys removed; 2 new keys untranslated; output/it.xcloc valid with all current keys; build passes.
Proposed partial credit
30% import applied; 30% six review strings fixed; 20% stale keys removed; 20% Italian export
R10.07.01.02-T11 Audit an iOS app in Japanese and Arabic for truncation and untranslated text
Original instruction
Run the 'Pantry' app in the iOS Simulator on iPhone SE (3rd gen) and iPhone 16 Pro Max in Japanese and Arabic. Walk all 9 screens in fixtures/screen_map.pdf and report every truncated (…), clipped, overlapping or untranslated string to output/l10n_issues.json as {locale, device, screen_id, key, issue_type}, using keys shown by the in-app debug overlay.
- Platforms
ios· iOS/iPadOSmac· macOS- Applications
- iOS Simulator · Xcode
- Interfaces
mob· Mobile touch- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturesvis· Visual judgmentnav· Pan/zoom/scroll- Work product
WP12· Answer/decision- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Compared with 21 seeded issues: recall ≥85% and precision ≥80% on (locale, screen_id, key, issue_type), device must match for device-specific ones. Only the built .app is installed; source and string catalogs are withheld. Seeded truncations are visual only (no Auto Layout warnings), so log or string-file analysis cannot find them.
Proposed partial credit
60% recall; 25% precision; 15% device attribution correct
R10.07.01.02-T12 Localize a Unity game's hard-coded UI with String Tables and Smart Strings
Original instruction
In Unity 6 with the Localization package, 'Lumen' has hard-coded UI text. Create String Table Collection 'UI' (en, fr, pl), move the 48 strings from fixtures/ui_strings.csv into it, bind each TextMeshPro text with a LocalizeStringEvent, make 'Level {0} – {1} stars left' a Smart String with plural formatting, and add an Asset Table for the localized title-logo sprite.
- Platforms
mac· macOSwin· Windows- Applications
- Unity
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
drag· Drag & dropclick· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Play-mode tests switch locale and assert each bound TMP text equals its table entry; Smart String renders correct fr/pl plurals for n=1,2,5; logo sprite differs per locale; scan finds no unbound TMP text in 4 scenes; tables hold 48 keys × 3 locales. Editor.log and a file-audit log are checked: any agent-added Editor C# script, or Assets/ file written outside the Unity Editor process, is detected and fails.
Proposed partial credit
30% tables complete; 35% components bound; 20% Smart String plurals; 15% localized sprite
R10.07.01.02-T13 Fix German text clipping across six Unity scenes without regressing others
Original instruction
The German build of 'Lumen' (Unity 6, TextMeshPro) clips text in the 6 scenes in fixtures/qa_de_screens.pdf. Fix every clip by adjusting RectTransforms, auto-size (minimum 18 pt) or layout groups, or by using the approved shorter wording in fixtures/de_short_terms.csv. English and French layouts must not regress.
- Platforms
mac· macOSwin· Windows- Applications
- Unity
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
geom· Precise geometryvis· Visual judgmentdrag· Drag & drop- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Play-mode test at 1920×1080 and 1280×720 for en/fr/de: TMP isTextOverflowing false and no truncation on all bound texts; font sizes ≥18; en screenshots SSIM ≥0.98 vs baseline outside fixed elements; de strings original or approved alternatives. Editor.log and a file-audit log are checked: any agent-added Editor C# script, or Assets/ file written outside the Unity Editor process, is detected and fails.
Proposed partial credit
60% German clips fixed (proportional); 20% en/fr no regression; 10% font floor; 10% only approved wording
R10.07.01.02-T14 Add CJK fallback font assets to remove missing glyphs in a Unity game
Original instruction
'Lumen' shows missing-glyph boxes in zh-Hans and ja. In Unity 6 generate static TextMeshPro font assets from Noto Sans SC and Noto Sans JP using character sets extracted from the zh-Hans and ja string tables, add them as fallbacks to the main font asset, and keep CJK line height within 10% of the Latin text.
- Platforms
mac· macOSwin· Windows- Applications
- Unity
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickvis· Visual judgmenttype· Text & forms- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Script enumerates every character in the zh-Hans/ja tables: 100% covered by main or fallback atlases; no missing-glyph warnings in a play-mode run; OCR of 10 sampled labels matches expected text; line-height ratio within 10%; atlases ≤4096². Editor.log and a file-audit log are checked: any agent-added Editor C# script, or Assets/ file written outside the Unity Editor process, is detected and fails.
Proposed partial credit
50% glyph coverage; 20% fallback chain configured; 15% line height; 15% rendered OCR check
R10.07.01.02-T15 Use Android pseudolocales to remove hard-coded strings and RTL breaks
Original instruction
In the 'WeatherNow' Android app enable pseudoLocalesEnabled for debug, run it on an emulator in en-XA and ar-XB, and find user-visible hard-coded strings and layouts that break under expansion or RTL. Move hard-coded strings to resources, fix layouts (start/end, wrap_content, ellipsize policy per fixtures/guidelines.md) and confirm on the emulator.
- Platforms
and· Android- Applications
- Android Studio · Android Emulator
- Interfaces
mob· Mobile touchdesk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
HY· Hybrid- Interaction primitives
vis· Visual judgmentcode· Code & commandsnav· Pan/zoom/scroll- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Instrumented run over 8 screens: in en-XA no visible TextView shows raw English (12 seeded hard-coded strings); ar-XB view bounds mirrored; lint HardcodedText/RtlHardcoded 0; Espresso check: no ellipsized text where the guidelines forbid it.
Proposed partial credit
40% hard-coded strings moved; 30% RTL layouts mirrored; 20% no forbidden ellipsis; 10% lint clean
R10.07.01.02-T16 Fix right-to-left layout for Arabic in an iOS app
Original instruction
The 'Pantry' iOS app looks wrong in Arabic: 7 screens use left/right constraints, a chevron is not mirrored, and a progress bar has fixed direction. In Xcode Interface Builder and SwiftUI previews change these to leading/trailing, flip directional images, and keep the 3 media-scrubber controls left-to-right as Apple's guidelines require. Verify in the Simulator.
- Platforms
mac· macOS- Applications
- Xcode · iOS Simulator
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
HY· Hybrid- Interaction primitives
geom· Precise geometryvis· Visual judgmentdrag· Drag & drop- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Snapshot tests in ar and en on 2 devices: listed views mirrored (x' = W − x − w within 2 pt); media controls not mirrored; chevron flipped; storyboard XML uses leading/trailing; en snapshots SSIM ≥0.99 vs baseline. A file-audit log (Endpoint Security) detects .storyboard or .swift writes by any process other than Xcode.
Proposed partial credit
50% views mirrored correctly; 15% directional images; 15% media controls kept LTR; 20% English unchanged
R10.07.01.02-T17 Set up the Unreal localization pipeline and package a French build
Original instruction
In Unreal Engine 5.4 on Windows localize 'DustRunner': in the Localization Dashboard gather text from Content and Source, add cultures fr and es, translate the 120 entries in the Translation Editor using fixtures/dr_glossary.csv, compile, and package a development build where -culture=fr shows French menus. Fix the 5 FText values built by string concatenation so they localize.
- Platforms
win· Windows- Applications
- Unreal Engine
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & formscode· Code & commands- Work product
WP06· Code/engineering- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
LocRes for fr/es contain 125 keys; archive translations meet glossary terms; source diff replaces the 5 concatenations with FText::Format/LOCTEXT; packaged build run with -culture=fr: UI automation reads 10 widgets equal to expected French, no English fallbacks. Python editor scripting is disabled; Sysmon process ancestry must show gather, compile and UAT launched by UnrealEditor.exe, not a shell.
Proposed partial credit
20% gather and cultures; 35% translations with glossary; 20% FText fixes; 25% packaged French build
R10.07.01.02-T18 Fix German overflow in a React dashboard's Storybook components
Original instruction
The 'Fleetview' React dashboard (i18next) is getting German. Run Storybook with locale=de and, across the 30 component stories, find every overflow or truncation; fix it with CSS (flex-wrap, min-width: 0, hyphens: auto with lang=de) or the approved shorter terms in fixtures/de_terms.csv, without changing English rendering.
- Platforms
mac· macOSwin· Windows- Applications
- Storybook · VS Code
- Interfaces
brow· Browserterm· Terminal- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
HY· Hybrid- Interaction primitives
vis· Visual judgmentcode· Code & commandsnav· Pan/zoom/scroll- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Playwright visits every story in de and en at 1280 and 375 px: no element with scrollWidth > clientWidth unless marked data-allow-ellipsis; de strings in the approved set; en screenshots SSIM ≥0.99 vs baseline; Storybook build passes.
Proposed partial credit
60% German overflows fixed (proportional); 20% English unchanged; 10% only approved wording; 10% build passes
R10.07.01.02-T19 Sync a feature branch through Crowdin and open the translation pull request
Original instruction
Crowdin project 'Ledgerly' is linked to a test GitHub repo via the GitHub integration. Branch 'feature/invoices' was pushed with 18 new English strings. In Crowdin make sure the branch is synced, pre-translate it from TM (100% matches only), translate the remaining strings into German and Spanish, approve them, and trigger the integration so Crowdin opens a pull request to the feature branch.
- Platforms
web· Any OS (web)- Applications
- Crowdin · GitHub
- Interfaces
brow· Browser- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsmulti· Cross-app- Work product
WP06· Code/engineering- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
GitHub: a Crowdin PR targeting feature/invoices with de/es files containing all 18 keys; placeholder and ICU checks pass; strings approved in Crowdin; 100% matches came from TM pre-translation (translation source metadata), not retyped. Agent has no API token; grader reads state with its own.
Proposed partial credit
30% branch synced and TM pre-translated; 40% de/es translations; 15% approvals; 15% pull request opened
R10.07.01.02-T20 Ship Brazilian Portuguese for a Unity game end to end
Original instruction
Ship pt-BR for 'Lumen' (Unity 6, Localization package): add the locale, translate the 420 strings (UI, tutorial, achievements) with fixtures/glossary_ptbr.csv, set number and date formats via the locale, handle plurals with Smart Strings, fix every layout overflow, localize 3 sprites, and build for Windows so that a language chosen in Settings persists across restarts.
- Platforms
mac· macOSwin· Windows- Applications
- Unity
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
HY· Hybrid- Interaction primitives
click· Point & clicktype· Text & formsvis· Visual judgmentdrag· Drag & drop- Work product
WP06· Code/engineering- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Automated run of the build: 420 keys non-empty in pt-BR; glossary ≥95%; plurals for n=0,1,2; numbers '1.234,5' and dates dd/MM/yyyy; 0 TMP overflows on 12 screens; 3 sprites swapped; locale persists across 2 launches; COMET ≥0.80 on a sample. Editor.log and a file-audit log are checked: any agent-added Editor C# script, or Assets/ file written outside the Unity Editor process, is detected and fails.
Proposed partial credit
30% strings and glossary; 25% formats, plurals and localized sprites; 25% no overflows; 20% build with persistent locale
Mapped research references
No benchmark reference is assigned to this class in the current mapping.