I used to write programs this way because it needed to support multi-langual and without a proper error message system, it is very difficult to do over the phone technical support and I can tell you that this is "A LOT" to ask. It requires the developer to notice this intend long before the system starts coding phase.

Given the number of apps KNOPPIX use(and other distro as well), it would be another 10 years before we see it happens even we start from now for this task.

It is not about how to maintain the database or the search, it is how to put them into the programs in the first place.

It would be more doable to just dump whatever error message into a database and use google to search the keywords