Background of the issue:
We've been using WPML to apply translations of strings to our French site. We have three environments, local, staging, and production, all of which share the same git repository. The workflow we have been using is to implement the string translations on the local site, commit any changes to the .mo files, push them up to the repo, and deploy them as a part of the code for the site. This generally works. Confounding the issue is that we're also using Pinegrow to build the theme locally. It's got a bad habit of shuffling some of the codebase when it compiles the theme, though it never changes the spacing or strings that need to be translated.
Symptoms:
We've been having issues with individual translations 'disappearing'. A handful that have been changed might deploy to the site just fine, but other translations will disappear on the site where we have implemented them before. Never all of them disappear, but certainly enough that we notice and different ones every time.
Questions:
Is our git workflow a correct way to manage string translations, or is there a preferred method?
Would having translatable strings change line numbers or indentation have an effect on their ability to hold on to string translations?