I am trying to understand the point of letting the GUI do the translating.
For instance, I have a database that contains the transactional data for one of the systems operating the business. There are actually two applications that operate primarily in this database. There are two others that store ancillary (to those systems) data there. There are also at least three different reporting platforms. Additionally, there could be any number of home-brewed reporting apps in Access or Excel.
In such a scenario, when a code description changes, would you want to make that change once in a database. Or, would you prefer to update that code in every application that references it? Or, maybe make the change in one of the systems and let the others fall out of date?
The point is that this data describes entities in your database and they belong in that same database for the sake of data integrity.