gettext resuelve un tipo de problema diferente al de una base de datos multilingüe:gettext es para la interfaz de usuario, mientras que la base de datos es para el contenido.
Usaría gettext o equivalente para elementos como mensajes de error, una etiqueta de botón o un título de página, donde hay una pequeña lista de elementos que cambian con poca frecuencia.
Una base de datos multilingüe es para grandes volúmenes de contenido que pueden o no cambiar con frecuencia, como, por ejemplo, los títulos de cientos de miles de libros y películas, o descripciones de licitaciones.