In Django, how to determine if translation for a given text is available?

You can use polib for that: https://bitbucket.org/izi/polib/wiki/Home

Something along those (untested) lines of code:

import polib
po = polib.pofile('path/your_language.po')
text == 'Your text'
is_translated = any(e for e in po if e.msgid == text and (not e.translated() or 'fuzzy' in e.flags) and not e.obsolete)

This will give True when an active translation is available. 'e.translated()' alone returns True for both, fuzzy and/or obsolete phrases, too.