AI-hallucinated translations polluting translated content

We found an AI-hallucinated issue in translations generated via Crowdin AI pre-translation. We scanned all translated files and identified ~100 bad strings

Types of corruption observed:

  1. Model chatter / prompt leaks — raw LLM reasoning appended to or replacing the translation, e.g. "...}]}Oops? Need valid correct... Need finalize actual..."
  2. Issue appended inside code blocks — text added after the closing } of JSON samples in docs, e.g. }All text translated., }絵, }。.
  3. Translator meta-commentary inside values — the model’s explanation of its own translation pasted into YAML front matter, e.g. connector_name: "Workday RaaS精度の高い翻訳には、専門用語や文脈を考慮することが重要です...".
  4. Unrelated roleplay content appended — e.g. a ja heading ending with 甘えん坊め♡ヨシヨシしてあげる♡えらいえらい♡ちゅっ♡....
  5. Invisible characters — zero-width spaces (U+200B) left at line ends across many files.
  6. Stray JSON symbols - already created by someone else AI pre-translation keeps appending a stray `},{` to short strings

These strings made it into production documentation/UI. We deleted the affected translations in Crowdin so they can be regenerated. But we see similar broken translations appearing more and more every day.

The issue started to appear about a month or so ago. We used gpt-5.5, and later I tried to update to gpt-6.1 in an attempt to fix the issue, but it didn’t help.

We can’t debug the issue since the actual prompt is not available in the logs. We also can’t use any LLM proxy like LiteLLM to debug the proxied prompt.

I believe something was changed on crowdin side that made the translations corrupt very often. Please help investigate the issue

Hello there!

From what you describe, it looks like the model added extra text inside the translation itself, such as its own reasoning, comments or stray characters. Since the response is still well-formed, that text can end up saved as a regular translation. Content that mixes text with code samples, JSON or other markup can make this more likely.

In order for our team to take a deeper look, please open a ticket with our support team and include a link to the project and a few examples of affected strings, ideally recent ones.

In the meantime, the “Auto-retry on QA issues” option in the AI prompt settings, together with your project’s QA checks, can help catch some of these cases and request a new translation for them.