Translators credits dismissed upon project transfer

We’re having a discussion in the Arch GitLab instance about aurweb project transfer went wrong.

We’re seeing that after moving the component from one project to another all the historical credits are removed and replaced with the new project owner.

This is the MR for example:

This is what actually happens:

  # Translators:
- # gk <'privacy'>, 2016
- # Lukas Fleischer <'privacy'>, 2011
- # Yaron Shahrabani <'privacy'> 2016-2023
+ # Archlinux DevOps account, 2025
  # 

I can agree to adding to the credits systematically but never remove the credits.

What can we do to handle that?

Thanks!

Hello @yaron,

I am Antonis from the Transifex Customer Success team. I hope you’re well.

I’m sorry to hear that you’re having issues with the PO file credits. I tested this scenario and can explain what’s happening.

The source file uploaded to your new project had an empty contributors list. When Transifex processes files, it preserves whatever credits exist in the source file and adds any contributors who worked on translations within Transifex (each contributor will be credited only in the language files they worked on). Since your source file was empty, only the DevOps account (which uploaded the files) appears in the credits.

Here’s how our PO parser works:

  • Preserves existing credits from the source file
  • Adds Transifex contributors who worked on translations
  • Cannot extract credits from uploaded translation files (only from source files)

I tested this with a sample file containing dummy contributors:

# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2024 MyApp Development Team
# This file is distributed under the same license as the MyApp package.
# FIRST AUTHOR <translations@myapp.com>, 2024.
#
# Translators:
# Maria Rodriguez <maria@example.com>, 2024.
# Pierre Dubois <pierre@example.com>, 2024.
# Giuseppe Rossi <giuseppe@example.com>, 2024.
# Ana Silva <ana@example.com>, 2024.
#

After translation work in Transifex, the output preserved all original credits and added me as a new contributor:

# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2024 MyApp Development Team
# This file is distributed under the same license as the MyApp package.
# FIRST AUTHOR <translations@myapp.com>, 2024.
# 
# Translators:
# Antonis Transifex, 2025
# Maria Rodriguez <maria@example.com>, 2024.
# Pierre Dubois <pierre@example.com>, 2024.
# Giuseppe Rossi <giuseppe@example.com>, 2024.
# Ana Silva <ana@example.com>, 2024.
# 

This limitation exists because allowing translation files to modify contributor lists could enable abuse, as anyone could falsify credits instead of having them generated based on actual work completed.

I can see the value in having that ability, though, especially when you start working on your project outside of Transifex or if you migrate from another project or organization.

I can escalate this to our Product team to evaluate allowing historical credits to be modified if you like.

Unfortunately, until this is resolved, you’ll need to either ignore the contributor modifications in GitLab or manually maintain the credits in your files, which I understand is far from ideal.

Another solution could be to add all past contributors in the source file, which makes them visible across all languages, and from that point onward, let Transifex append any new contributors on top of that list.

Feel free to correct me if I got anything wrong. I’m looking forward to hearing back from you!

Hello Antoni,

I think you are spot on. I also understand your point about abuse and makes sense. The situation is that the project first started from Lucas years ago and we want to move to a more central DevOps managed account hence the whole migration. We asked before and that was the recommended approach to be taken.

It’s kind of unfortunate that Tx doesn’t allow move of projects which would have solved the credits issue easily and also wouldn’t have to make announcements to call for old translators to move to new project. But we are where we are so let’s see how we can make this work now.

I’m in control of the DevOps account as well as my own (artafinde and archlinux as I’m a member of the DevOps team in Archlinux) so is there something I can do to make the credits stay there?

Let me know how to best achieve keeping the old credits to the new project. It is fine if you need to escalate this to get a better / easier migration - I’m happy to hold off my MR in GitLab until this is resolved and I don’t want to brush off the old contributors in any way.

Going forward we might enable GitLab integration for better handling but let’s sort this first.

Thanks in advance,
Leonidas

1 Like

Hey, please see @artafinde correspondence above, he performed the operation.
I’m not sure it should be emptied at any point so downloading and uploading should never remove, using tx-cli or any other Tx method should never do that regardless of the operation.

Hello @artafinde and @yaron,

I am discussing the credits issue with our Product team to explore potential solutions. Even if implementation is possible, it will likely take some time, and I understand this is a more immediate issue for you.

As mentioned above, metadata is only updated in two scenarios:

  • When uploading or updating a source file
  • When exporting a translation file (credits are updated to reflect contributors who worked on the file in Transifex)

The workaround I suggested previously is to manually collect past contributors’ names and add them to the source file. While not ideal, since those contributors will appear across all languages, this approach will at least preserve recognition of their work.

Going forward, credit attribution will be automatically handled by Transifex based on work completed in the editor.

I’ve been informed that users can opt to display their email addresses in credits by enabling the Show my email address in translation files option in their profile settings.

To clarify an important point: Transifex never deletes or removes existing credits. The parser strictly preserves the header section and only appends validated contributors.

In your case, the original source file didn’t include any credits. When the DevOps account updated translations, those changes were attributed to that account, and these attributions appeared in the credits upon export with the DevOps account as the only contributor. This is the expected behavior.

The diff you’re seeing reflects the new project starting without any existing credits, since past credits cannot be migrated through translation file uploads.

I hope I was able to provide some additional clarity about this issue.

I will keep you updated about my discussion with our team.

Please feel free to let me know if the proposed workaround sounds like something that might work for you, and if you have any other questions, concerns, or feedback, I will be happy to discuss it with you.

Hi @Mylon

Any update for a smooth migration from one org to another? I’m sure we are not the only one facing this issue.

Hello @artafinde,

While migrating projects from one organization to another is definitely possible using our CLI or API (though there’s no one-click option yet), there haven’t been any developments specifically for preserving translator credits when migrating PO files.

This particular scenario isn’t something I’ve encountered before, but I understand the importance of maintaining attribution. I’ll make sure to keep you updated if anything changes on this front.

Thank you for your feedback and patience!