The OO translation approach tries to take this idea one step further and generate program code from abstract object models. To do that the OOA description has to be rigorous and unambiguous. Currently there are subsets of UML that provide a rigorous and unambiguous notation. However, one still needs something to describe what goes in methods and actions.
Translation makes a key separation.
So the OOA is about describing the solution to the problem in problem space terms while the OOD is about building a translation engine that will eat OOAs and produce an optimized implementation in a particular computing environment. Thus an abstract OOA can be ported without change to any computing environment with complete confidence that the solution will work in that environment. At the same time the translation engine does not care about the solution semantics so it can chew on any OOA and produce an optimized implementation of that solution in its environment. So the short description is that for a translationist the OOA solves the user's problem while the OOD solves the software developer's problems. Not unexpectedly, once one has a rigorous and unambiguous OOA that can be deterministically converted to code, one starts to get a lot of code translators.