Translation Key Overwrite and Sync Conflict Issue Between My Website and Transifex

Hello Transifex Community,

I am currently facing a persistent and highly disruptive issue with the synchronization of translation keys between my website and Transifex, specifically involving translation keys being unexpectedly overwritten or reset during automated sync operations. My website uses a structured JSON-based localization system, and we rely on the Transifex CLI to push source strings and pull translated content as part of our CI/CD pipeline. While the workflow generally functions as intended, we are experiencing a recurring problem where certain translation keys that were previously translated and approved in Transifex are either reverted to empty values or replaced with outdated source strings after subsequent synchronization cycles. This is causing inconsistencies in production where certain sections of the website suddenly display fallback language content instead of the expected localized translations.

The issue appears to occur when new source strings are introduced or when minor modifications are made to existing keys in the source JSON files. Even when changes are minimal, such as adjusting punctuation or whitespace, Transifex seems to interpret these as new or altered strings in a way that disrupts the existing translation mapping. In some cases, the previously approved translations become marked as untranslated or lose their review status, and during the next automated pull, the localized output either excludes those strings or includes incomplete data. From our perspective, the source-to-translation linkage should remain stable despite minor content adjustments, but the synchronization process seems to treat them as entirely new entries, breaking continuity in the translation lifecycle.

We have attempted to mitigate this issue by reviewing our resource configuration, ensuring consistent key naming conventions, and verifying that the CLI configuration file accurately maps our JSON structure to the corresponding Transifex resources. However, even with stable key naming and consistent file paths, the problem persists sporadically. It is particularly confusing because not all modified strings are affected; only certain keys appear to lose their translation linkage after sync operations. This unpredictability makes it difficult to isolate whether the issue is caused by string hash changes, content updates, resource settings, or misinterpretation of the JSON hierarchy during parsing.

Another complicating factor is the involvement of multiple team members contributing both to source content and to translations. When a developer updates source strings while translators are actively working on the same resource in Transifex, the next push operation occasionally results in translation conflicts or unintended overwrites. Although we understand that synchronization conflicts can occur, the current behavior seems to replace valid translated content rather than preserving it or flagging it clearly for review. As a result, production deployments sometimes contain incomplete language files, leading to mixed-language user interfaces that negatively affect user experience and credibility.

We have examined Transifex settings related to content updates, source string replacement behavior, and translation memory usage, but we are uncertain whether the issue stems from incorrect configuration, improper CLI usage, or inherent behavior of how Transifex handles modified source strings. Logging output from the CLI does not clearly indicate destructive changes, and there are no explicit error messages during push or pull operations. The absence of visible warnings makes it difficult to identify when translations are about to be overwritten or invalidated, which complicates our deployment confidence and quality assurance processes.

I am seeking guidance from the Transifex community on best practices to prevent translation key overwrites and maintain stable synchronization between source files and translated resources. Specifically, I would appreciate advice on configuration strategies, version control integration, and workflow adjustments that ensure minor source edits do not invalidate existing translations unnecessarily. Recommendations on preserving translation history, preventing destructive sync behavior, and structuring JSON localization files to maintain consistent key mapping would be extremely valuable. My goal is to establish a reliable, predictable translation pipeline where approved translations remain intact unless intentionally modified, ensuring consistent multilingual support across all deployments of my website. Sorry for long post!

Is there anyone who can guide?

Dear Joe,

I am sorry you are facing struggles with your workflow.

From your message, I understand that the issue might be that the system is realizing that a new string is created after a new source file push, and thus , it creates a new source string while uploading the new source file.

In order to be able to assist you furhter we will need some more details.

Could you please send us a message to support.transifex@xtm.ai with some more data?

Which is the project? Could you link to some examples of such strings where you updated the source string? So that we may track the history and be able to understand exactly what is happening, so that we can adjust your workflow.

Kind regards