We've been working on a translation system that handles some of these things. It's a CAT front-end for translators, with tests stored as plain JSON on Github. The idea is to leverage git's version control and other features as much as possible. Our use case is translating texts (Buddhist scriptures), but we also use it for UI. The software is just coming together, so check it out, <a href="https://github.com/suttacentral/bilara" rel="nofollow">https://github.com/suttacentral/bilara</a><p>- <i>The ability to query for all texts that lack translation in a given language.</i>
No. Our project has a very large number of texts, so everything is assumed incomplete. Would it be possible track this via Github, I wonder?<p>- <i>The ability to bulk export/import texts/translations so that an external translation specialist can work with them.</i>
Sure, just pull from Github.<p>- <i>For each text we would like to track its source. Was it written by a programmer, a business specialist or an external translation specialist?</i>
Every translation edit records the Github user.<p>- <i>The ability to query for translations that are outdated (i.e. the default English text has changed since the translation was made).</i>
No, but that would be awesome. Ideally the translator would be notified. It shouldn't be hard to do this using Github notifications.<p>- <i>Both a gui (so that non-programmers can work with it) and an api (so that the build pipeline can interact with it).</i>
We have a front end GUI built with LitElement, and ArangoDB for search and translation memory. For the back end, apps consume the JSON data, there's no formal API yet.<p>In addition:<p>- You can hook anything you like off the translation segments: notes, variants, markup, etc.<p>- It has a publication model so the translator and site manager can publish any text or keep them as drafts.