π Note: This feature is available on the Growth plan and up.
Typically, source strings are managed via manual file uploads or through syncs from your codebase or integrations. However, content managers and designers often need to iterate quickly. In-app string creation lets you use Transifex as the "Source of Truth," creating new content that can later be synced back to your repository or to any integrated service.
This feature is available to Organization Admins and Project Maintainers.
Supported project types and file formats
You can create strings in File-based and Transifex Native projects. Transifex Live projects do not currently support creating, deleting, or editing source strings.
For File-based projects, the following file formats are currently supported:
Key-Value JSON
Structured JSON
Fileless
β
How to create source strings
Open your project and navigate to the Editor.
In the string list panel, click the "+ New String" button.
βSelect the resource where the new string will be created and fill in the required fields:
βKey: Must be unique within the resource you're creating the string in, since duplicate keys are not allowed. Keys are always safely escaped to prevent breaking downloads.
Source Text: The actual content to be translated.
(Optional) Add Tags, String Instructions, or Character Limit.
βClick "Save & Close" or "Save & Add another" if you want to add more than one string.
πRich Mode vs. Raw Mode for Source Text:
Rich Mode (Recommended): Transifex automatically escapes special characters (e.g., converting
"to\"in JSON) to keep your file syntax valid.Raw Mode: No escaping is applied. Use this only if you need to manually enter specific syntax, but be careful, as invalid characters can break your file downloads.
Once the string is created, it is appended to the end of the resource it was created in, and it becomes available in all target languages immediately and behaves similarly to any other source string.
Creating pluralized source strings
In many languages, nouns and verbs change based on quantity (e.g., "1 item" vs. "2 items"). You can create these complex strings directly in the Editor without manual file coding.
How to add pluralized strings
Open your project and navigate to the Editor.
In the string list panel, click the "+ New String" button.
βAs with adding a regular source string, select the resource where the new string will be created but before you fill in the required fields, check the "Pluralized" checkbox:
βFill all plural forms of your source language (for English, there are two plural forms).
(Optional) Add Tags, String Instructions, or Character Limit.
Click "Save & Close" or "Save & Add another" if you want to add more than one string.
The considerations for the Rich vs. Raw mode mentioned in the previous section still apply.
When to use pluralized strings
Use pluralized strings when your application displays text that varies based on a number, such as:
Item counts
Messages, notifications, or labels that depend on quantity
Any UI text that requires language-specific plural rules
How pluralized strings work
When adding a pluralized string online:
You define a single key
You provide multiple plural forms (e.g., one, other, depending on the language rules)
Transifex applies the appropriate plural rules per target language
Once saved, the pluralized string is treated as a single logical unit, and translators see and translate all required plural forms. Translations are handled consistently across languages.
Identifying editor-created strings
To find strings created in the UI, use the Editor Activity filter:
Go to the filter bar at the top of the Editor.
Under "Editor Activity", select the "Added source string" filter.
βSelect the option, then click "Yes".
This will display only the strings created via the UI that were not present in your last file upload.
β
Deleting strings
Organization Administrators and Project Maintainers can delete source strings directly from the Editor.
This can be done by simply selecting one or more source strings, and selecting the "Delete" option from the Bulk Actions menu:
Once you click the "Delete" option, you will be prompted to confirm the deletion by typing DELETE.
This option is not limited to strings added in the editor but can be applied to all source strings. Deleting a source string also removes all associated translations. The string will be removed from all future file downloads.
β
Downloading updated files
When you request a download, Transifex reconstructs the file on the fly, including your new strings and removing deleted ones.
β
Updating files with editor-created strings
When uploading an updated source file, Transifex gives you control over how editor-added strings are handled:
Keep editor-added strings (default)
Delete source strings created in the Editor if they do not exist in the file
Transifex appropriately handles cases where:
The same key exists both in the Editor and the uploaded file
Editor-added strings are updated or replaced by file uploads
History is preserved and clearly indicates whether changes came from the Editor or a file upload
β
Important note regarding JSON lists and re-uploads
If your JSON source uses lists (arrays) instead of simple key-value objects, editor- created strings may be regenerated with internal keys when the file is re-uploaded
This can result in new keys being created and existing translations being lost. This is a limitation of list-based JSON and also applies to manual file edits.
For this reason, we recommend avoiding first-level JSON lists if you plan to create source strings in the editor and re-upload files.
Keeping Transifex content and your codebase in sync
To ensure that source content and translations remain consistent between Transifex and your application code, implementing a clear synchronization strategy using the Transifex API or built-in VCS integrations is crucial.
Synchronization via API
This section explains the recommended setup, required API interactions, and how to handle strings added directly in the Transifex UI.
Recommended approach: pull source updates from Transifex
Periodically download the source language file from Transifex.
Compare it with the version in your repository.
Commit any newly added keys back to your codebase.
This ensures that strings added online are not confined to Transifex and are not lost or overwritten later.
What happens when you upload source files
By synchronizing your local repository with Transifex first, subsequent uploads become conflict-free.
When uploading source files to Transifex, you must decide how to handle strings that exist only in Transifex using the purge_added_strings parameter.
Keep editor-added strings
Strings added via the Transifex UI are preserved.
Source uploads update existing keys without deleting UI-added ones.
Recommended implementation checklist
If you create source strings in the editor:
Pull source files from Transifex.
Commit new keys back to your repository.
Push source files to Transifex.
Pull translations from Transifex regularly or via webhooks.
Decide and document your policy for editor-added strings.
Synchronization via VCS integrations (GitHub, GitLab, Bitbucket, Azure Repos)
If your project is connected to Transifex via a Git integration, additional configuration is required to ensure that strings added in Transifex are pushed to your repository.
Creating source strings in the editor with Git integrations
To keep your repository in sync when creating source strings in the editor, you must enable the option "Receive updates for source files" to create a pull request for source changes made in Transifex.
When this option is enabled:
Source strings added directly in Transifex are exported back to your repository.
A pull request is created containing the updated source files.
Newly added keys become part of your codebase and can be reviewed and merged like any other code change.
This is the recommended setup when allowing content teams to add strings in the Transifex UI.
What happens if this option is not enabled
Disabling this option creates a silo in which online-added strings are isolated from your development environment. This leads to the following risks:
Source drift: The new strings do not exist in your repository.
Overwrite risk: Future source uploads from the repo will likely overwrite or deprecate these strings during the sync process.
Misalignment: The repository and Transifex are no longer aligned on source content.
Recommended workflow with Git integrations
If you use Git integrations and create source strings in the editor:
Enable pull requests for source updates from Transifex.
Review and merge source PRs generated by Transifex.
Let your existing translation PR workflow handle localized updates.
This ensures:
All source keys exist in the repository.
Translations remain complete and consistent.
Data integrity is maintained across all future synchronization cycles.
β
π‘Tip
Looking for more help? Get support from our Transifex Community Forum!
Find answers or post to get help from Transifex Support and our Community.









