We currently break all of the CiviCRM strings into the following files: civicrm-core.pot (strings from core files), civicrm-helpfiles.pot (string from .hlp tempaltes), civicrm-menu.pot (menu entries) and civicrm-modules.pot (string from non-core Civi* modules).
The -core and -modules split is based on source subdirectories of the CRM and templates/CRM directories:
$modules = array('Case', 'Contribute', 'Event', 'Grant', 'Mailing', 'Member', 'Pledge');
$excluded = array('Bridge', 'Project', 'Touchstone');
– this tends to work most of the time.
Would it make sense for the above to be split on a per-module basis (i.e., separate file for each module)?