>...The changes have to be kept so that if we say revert to a certain commit, all the translations match with the texts of headers, buttons, etc...
The mentioned .zip file is to be kept in the repo. Instead of a whatever number of individual .xlf files per generation, these would get zipped together (say, 'assets/xlf.zip') before the commit and the resulting .zip added to the commit.
Similarly, when reverting or on a checkout, it's the .zip that gets checked out and then the .xlf files are unpacked.
The packing/unpacking could be done by the same process that handles the .xlf generation (??build).
Also this may be automated by git-hooks, though it's more natural to handle the packing of assets during the build stage.
The mentioned .zip file is to be kept in the repo. Instead of a whatever number of individual .xlf files per generation, these would get zipped together (say, 'assets/xlf.zip') before the commit and the resulting .zip added to the commit.
Similarly, when reverting or on a checkout, it's the .zip that gets checked out and then the .xlf files are unpacked.
The packing/unpacking could be done by the same process that handles the .xlf generation (??build).
Also this may be automated by git-hooks, though it's more natural to handle the packing of assets during the build stage.