def progress(status_code):
    """Translate PROGRESS status codes from GnuPG to messages."""
    lookup = {'pk_dsa': 'DSA key generation', 'pk_elg':
        'Elgamal key generation', 'primegen': 'Prime generation',
        'need_entropy': 'Waiting for new entropy in the RNG', 'tick':
        'Generic tick without any special meaning - still working.',
        'starting_agent': 'A gpg-agent was started.', 'learncard':
        'gpg-agent or gpgsm is learning the smartcard data.', 'card_busy':
        'A smartcard is still working.'}
    for key, value in lookup.items():
        if str(status_code) == key:
            return value
