Transferring reviewed content

I am transferring a resource from one project to another and would like to retain
the review that has been done.

Unfortunately, it is not possible to preserve the status of the strings while transferring a resource from one project to another at once via Transifex Web Interface. This can only be achieved via API and scripting.

The way you can get this information from API can be done as follows:

#1: Run the following API endpoint for every target language of your project for the specific resource you are interested in. For example:

–> Language_code: af

https://www.transifex.com/api/2/project/project_1/resource/resource_name/translation/af/strings/

–> Language_code: ar

https://www.transifex.com/api/2/project/torproject/resource/2-bridgedb-bridgedb-pot/translation/ar/strings/

etc…

In the response, you will get all the translations for your languages along with their review statuses as you can see below:

More information about this API endpoint can be found here [Uploading and downloading a collection of translation strings].

#2: Then filter the entries by “reviewed: true”. That way you can have all the reviewed entries per target language along with their uniquely defined hashes.
#3: Finally, using the same API endpoint, you will need to push these strings to the new resource.

Another option would be to download your translation files using the mode “Download only reviewed translations” and upload them to your new project. Then enter the editor, apply the filter “translated:yes” and review them in bulk. Once you are done, enable the "Translation Memory Fill-up " in your project’s settings and allow TM to automatically translate all the remaining untranslated entries. Make sure that both projects share the same TM suggestions [TM groups].

Hello,

Following up on our last response, and since we are deprecating the API versions namely API v2 and v2.5, to make way for the more usable and maintainable API v3.

As of April 7th, 2022 the API versions 2 and 2.5 will no longer be operational and relevant requests will begin to fail .
Below you can find the same approach using the API 3.0 endpoints.

#1: Get a Resource Translations collection

The first step is to retrieve all the strings along with their translation status for every target language in your project in Transifex. Please note that you can filter results by filter[reviewed]=true to get strings with reviewed translations only. For example:

–> API call for target language ‘ja’:

https://rest.api.transifex.com/resource_translations?filter[resource]=o:organization_slug:p:project_slug:r:resource_slug&filter[language]=l:ja&filter[reviewed]=true

–> API call for target language ‘el_GR’

https://rest.api.transifex.com/resource_translations?filter[resource]=o:organization_slug:p:project_slug:r:resource_slug&filter[language]=l:el_GR&filter[reviewed]=true

etc…

The response received will look like this:

#2: Update a Resource Translation

The second step is to update the review status of these strings under the new resource.

–> API call for target language ‘el_GR’:

https://rest.api.transifex.com/resource_translations/{resource_translation_id}

The format of the {resource_translation_id} is the following o:organization_slug:p:project_slug:r:resource_slug:s:string_hash:l:el_GR

The response received will look like this:
image