gettext risolve un diverso tipo di problema rispetto a un database multilingue:gettext è per l'interfaccia utente, mentre il database è per il contenuto.
Utilizzeresti gettext o equivalente per dispositivi come messaggi di errore, etichetta di un pulsante o titolo di pagina, in cui è presente un piccolo elenco di elementi che cambiano di rado.
Un database multilingue è per grandi volumi di contenuti che possono o meno cambiare frequentemente, come, ad esempio, i titoli di centinaia di migliaia di libri e film, o le descrizioni di gare d'appalto.