We’re planning to release a set of improvements to how XCStrings files are handled in Transifex by January 20, 2026.
Since XCStrings is often part of automated localization workflows, we wanted to give everyone an early heads-up so there’s enough time to prepare and adjust as needed.
What’s Changing
The upcoming release will introduce the following updates:
-
Support for
shouldTranslate: false
Strings marked as non-translatable (shouldTranslate: false) will be properly supported. These strings will no longer appear in the Transifex Editor, but they will be included again when the XCStrings file is downloaded. -
Consistent formatting (no extra spacing before colons)
We’re aligning our XCStrings output formatting with Xcode’s conventions. This removes unnecessary spacing differences and significantly reduces noisy diffs in pull requests. -
Improved
onlytranslatedmode behavior
Theonlytranslatedmode will now include only translated, reviewed, or proofread strings.-
Untranslated strings (including variations and substitutions) will not be included.
-
This ensures that compiled XCStrings files accurately reflect the actual translation state, rather than marking everything as translated.
-
Why We’re Making These Changes
These improvements are the first step in making XCStrings handling more predictable, more accurate, and more aligned with how Xcode expects string catalogs to behave. In particular, they aim to:
-
Prevent non-translatable strings from accidentally being edited
-
Eliminate formatting-only changes that clutter PR reviews
-
Ensure that the state attribute in XCStrings truly reflects what’s translated, reviewed, or proofread (its value will be “translated”).
-
Improve the quality and reliability of XCStrings files pushed back to source repositories
Heads-Up for Existing Workflows
If you’re currently using XCStrings files in your Transifex workflow—especially with API, CLI, and Git integrations—we recommend reviewing how these changes may affect your setup. The January 20, 2026, timeline is intentional, giving you adequate time to adapt before the updates go live.
This release is just the beginning. We’ll continue improving XCStrings support based on your feedback and real-world usage patterns.
If you have questions, concerns, or edge cases you’d like us to consider, we’d love to hear from you.