Feedback from Baadur Jobava (via mailing lists: email@example.com and firstname.lastname@example.org):
Zanata is missing terminology control. This is a feature already in Transifex, Pootle and present in most proprietary translation tools out there.
Terminology control means "glossary", but also aspects of something people call "controlled language".
In Transifex, each project has an attached terminology, with translation reviewers being able to update the terminology. My workflow there is a little clunky, but workable:
I keep at the same time two tabs open, one with Terminology definitions, where I can add or adjust terms, and a second tab with the translation interface itself. As I translate, especially a new project, I add new terms to the list. (An improvement may be to be able to adjust terminology and translation from the same window)
Setting terminology as translation progresses helps maintain consistency even if there is just one translator working on it. Unlike the automated translation memory, terminology provides 'intent' and highlights the important terms.
As people translate, the terminology words get highlighted, with suggestions for each one. In Transifex there is inline highlighting (underlining) and a contextual bubble appears when you hover across the highlighted term. In Pootle the terminology terms appear to the side in a separate rectangle, along with their recommended translation and comments.
Other than simply a glossary, terminology control should also highlight 'terminology violations' and have a filter to select only for these strings.
As people add new terms to the terminology, the English variants get all added to a global list, so if a Japanese reviewer adds a new term, that one is also available to the French locale (and every other one) – a good feature of Transifex. Now, a tool like Pootle only has locale-specific terms list, so each locale has to figure out their own terminology list. I prefer the Transifex way.
Something that doesn't exist, but may help: 'hard' and 'soft' terminology. Hard terms may be those specific to the application or technical terms with strict interpretation, while 'soft' ones may be regular language which needs to be kept consistent, but not critical or with a special meaning for that project. Hard terms may be global, while soft ones may be locale-specific.