WeblateOrg / WeblateOrg/weblate
TBX and TMX files do not import translated strings
- Dominant language
- Python
- Stars
- 6.1k
- Forks
- 1.4k
- Avg merge
- 9h 53m
- Merged PRs (30d)
- 395
Description
### Describe the issue
Uploading translation files in TBX or TMX format completes successfully, but the translated strings are not imported into the project. As a result, no translations from the uploaded file become available.
I verified that importing a Gettext PO `.po` file works correctly and the translations are imported as expected.
### I already tried
- [x] I've read and searched [the documentation](https://docs.weblate.org/).
- [x] I've searched for similar filed issues in this repository.
### Steps to reproduce the behavior
1. Visit this [component](https://l10n.xwiki.org/projects/xwiki-platform/xwiki-platform-attachment/xwiki-platform-attachment-picker-ui/uk/) for translation in XWiki Weblate project
2. From Files drop-down menu → customize download → download either TBX or TMX format for untranslated string
3. Open download file in any text IDE, and put Ukrainian translation `Галерея` by updating line in file
4. Upload updated file Files drop-down menu → upload translation, select mode "add translation", keep other options as default
5. Observe the informative warning "Could not find 1 string: “” Processed 5 strings from the uploaded files (skipped: 0, not found: 1, updated: 0)."
### Expected behavior
The translated strings uploaded by TBX or TMX file should be imported and become available in the corresponding translation entries.
### Screenshots
### Exception traceback
```pytb
```
### How do you run Weblate?
PyPI module
### Weblate version
2026.6.1
### Weblate deploy checks
```shell
```
### Additional context
As far as I remember, I had no problems uploading translated strings in the old version, which was version 5.15.1.
Contributor guide
Research direction
Reproduce the upload with the provided TBX and TMX steps, then trace the import path and compare its handling with the working Gettext PO import. Confirm that the Ukrainian term is matched to the translation entry and imported without the “Could not find” warning, while preserving existing behavior for PO files.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- localization
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100