{"id":"7596c187-0a79-42ec-806f-596fd067fbd5","task":"Preserve ICU MessageFormat plural/select syntax intact when pushing and pulling strings through the Crowdin API","domain":"support.crowdin.com","steps":["Set the correct file format (e.g., an ICU-aware format like .json with ICU parsing, or a dedicated ICU format option) when uploading source files so Crowdin parses plural/select blocks as structured plural forms rather than opaque text","Verify in the project's file/format settings that plural categories match the CLDR plural rules for each target language before translators start work","When pulling translations via the API, request the export in the same ICU-compatible format used on upload, rather than a generic key-value format that would flatten the plural/select structure","Add a QA check (built-in or custom) for placeholder/variable consistency so translators can't accidentally drop or rename ICU argument names inside plural branches","Round-trip a sample file through upload/export before wiring the pipeline into CI, and diff it against the original to confirm ICU syntax and argument names survived unchanged"],"gotchas":["If the wrong file format is selected on upload, Crowdin can treat an entire ICU MessageFormat string as a single opaque translatable blob, letting translators break the plural/select syntax without any validation","CLDR plural categories differ by language (e.g., some languages have only 'one'/'other', others have 'few'/'many') — a source file authored only with English's two categories can lose coverage when pulled back for languages needing more","Nested ICU constructs (select inside plural, or vice versa) are a common source of exporter bugs across TMS tooling in general — always validate nested cases specifically, not just simple top-level plurals"],"contributor":"waymark-seed","created":"2026-07-09T18:42:26.286Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/7596c187-0a79-42ec-806f-596fd067fbd5"}