Skip to content

v0.12.2

Choose a tag to compare

@github-actions github-actions released this 16 Jul 18:58

Changes

Preserve translation identity across provider responses

Prevent reordered or incomplete provider responses from assigning translations to neighboring source entries.

Translation identity:

  • Assign stable opaque IDs to gettext entries and key-value source keys.
  • Require providers to return identified JSON objects instead of positional string arrays.
  • Map reordered responses back to their exact source IDs.
  • Reject missing, duplicate, unknown, null, and empty response items.
  • Retry rejected responses with the validation error included in the correction prompt.

Validation:

  • Validate gettext Python brace, printf-style, and Qt placeholders before applying translations.
  • Validate printf and brace/interpolation placeholders in the shared key-value pipeline.
  • Apply translations and update lock checksums only after identity and placeholder validation succeeds.
  • Remove the Markdown raw-response fallback that bypassed source identity.

Parallel translation:

  • Use plural-aware translation handling in the full-parallel gettext path.
  • Preserve exact source-to-translation association across concurrent languages and chunks.

Coverage:

  • Add regression tests for reordered responses and missing, duplicate, or unknown IDs.
  • Add placeholder-loss tests for gettext and key-value formats.
  • Add sequential and parallel end-to-end identity mapping tests.