Can you clarify, do you want to compare the source file with the translated file? Because it is clear that they will be different. So it is not 100% clear from the request what exactly you want to do.
The typical practice of checking the file content is when downloading translations from Crowdin, but not when uploading translations to Crowdin (we will not add anything).
So, when downloading translations, there is the Build Project File Translation method, where there is an opportunity to check for updates using the If-None-Match header. In other cases, it is not a big deal if you make a network request, Crowdin will skip everything that does not need to be updated.
and why I need download translations as typical practice? this is expanded network activity, if I can simply get checksum of file and check this without any downloading?
Hello Dima,
Our case is change source and translation file on new revision.
Next our steps, we don’t know what is stored in the source file under your Crowdin server.
The step:
get files from project
save our new file in storage
put new source to file
update all translations file on new version
But, if file the same? why do we even need to add the file to storage?
if file will be has property as checksum, we don’t move 2-4 steps
We don’t use this API method when push source and translations
Why we need build file (api.projects.translations.builds.files.post) for this? can we get property checksum from project/files?
Unfortunatelly we don’t have plans to change current logic and/or API calls. I’ve logged your request internally, in case we receive more similar reports we’ll think about possibility of adding it somehow.
As for now, the checksum analogue Tetiana shared is a workaround in case you need the checksum to be presented, you can change your API w-flow to include this step.