Graphs are generated for enabled languages, aliases are used while syncing. One can create a language set, which can be associated with a product release. Multiple instances of a translation platform can be added. A release should have a language set and a schedule attached. Transtats jobs talk to upstream repositories, translation platforms and build systems to keep translation statistics, build tags and release schedule latest.
While adding a package, upstream URL is required. And package name is verified with selected translation platform. Translation of a package can be tracked for multiple products. Package should be sync'd with translation platform and build system. Once sync'd, branch mapping will be created. It maps Transtats releases with most suitable project versions available at translation platform and with appropriate build tags. Package can be sync'd with upstream repo as well.
Once we have all versions / tags mentioned in branch mapping of a package sync'd with either translation platform and build system, differences can be created and observed. This answers - for a package - latest translations are packaged or not? If not, is some patch applied at the last moment? Which languages need attention?
Coverage (translation status of a group of packages in a set of languages to a given release) are based on rules. Slug form of rule name would be saved. This should be specific for a product release. Packages having branch mapping created can only be included here. Languages could be picked from language set associated with the release or from enabled ones. Somehow if a package is not tracked for the respective product and selected for inclusion; Transtats would show an error.
Transtats has two traversal options: releases and packages. One can see high level summary and can pick any one release or a package for details. Summary can tell you - packages which are out of sync, translation workload estimate for each language per release, and much more. Another is coverage, which depends on rules and branch mapping.