The relevant information is stored in the locales_source/locales_target tables.

Assuming you're connected to your database (drush sql cli, for instance), the following sql will give you the information you want:

select lid from locales_source where lid not in (select lid from locales_target);

to adapt depending on circumstances, you may have to filter on the translated language on multilingual sites.
For instance, this selects only the french translation.
select lid from locales_source where lid not in (select lid from locales_target where language="fr");

Useful info from locales_source:

  • lid is just the string id.
  • location tells you where the string comes from
  • source is the actual untranslated string

For instance, display location and source for strings untranslated to fr, limit to 10 results:
select location,source from locales_source where lid not in (select lid from locales_target where language="fr") limit 10;